一、课程总结
1、this和super的区别
区别点 | this | super |
---|---|---|
属性访问 | 访问本类中的属性,如果本类没有此属性则从父类中继续查找 | 访问父类中的属性 |
方法 | 访问本类中的方法,如果本类中没有此方法则从父类中继续查找 | 直接访问父类中的方法 |
调用构造 | 调用本类构造,必须放在构造方法的首行 | 调用父类构造,必须放在子类构造方法的首行 |
特殊 | 表示当前对象 | 无此概念 |
注意
this和super都可以调用构造方法,但两者是不可以同时出现的,因为两者调用构造方法时都必须放在构造方法首行。
无论子类如何操作,最终必须要先调用父类中的构造方法。
2、final的使用
可以使用final关键字声明类,属性,方法;
· 使用final声明的类不能有子类;
· 使用final声明的方法不能被子类所覆写;
· 使用final声明的变量及成为常量;
3、抽象类的定义及使用规则
· 包含一个抽象方法的类必须是抽象类;
· 抽象类和抽象方法都要使用abstract关键字声明;
· 抽象方法只需要声明而不需要实现;
· 抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法;
实验报告
1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
统计该字符串中字母s出现的次数。
统计该字符串中子串“is”出现的次数。
统计该字符串中单词“is”出现的次数。
实现该字符串的倒序输出。
package com.company;
public class Test {
public static void main(String[] args){
int count=0,count1=0,count2=0;
String ch="this is a test of java";
char[] c=ch.toCharArray();
for(int i=0;i<c.length;i++){
if(c[i]=='s'){
count++;
}
if(c[i]=='i'&&c[i+1]=='s'){
count1++;
if(c[i-1]==' '&&c[i+2]==' '){
count2++;
}
}
}
System.out.println("字符串中字母s出现的次数:"+count);
System.out.println("字符串中字串“is”出现的次数:"+count1);
System.out.println("字符串中单词“is”出现的次数:"+count2);
System.out.print("字符串的倒序输出:");
for(int i=c.length-1;i>=0;i--){
System.out.print(c[i]);
}
}
}
2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。
package com.company;
import java.util.Scanner;
class Test11 {
public static void main(String[] args){
Scanner n=new Scanner(System.in);
String ch=n.next();
char[] c=ch.toCharArray();
for(int i=0;i<c.length;i++){
c[i]+=3;
}
System.out.print("加密后的结果:");
for(int i=0;i<c.length;i++){
System.out.print(c[i]);
}
}
}
3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
package com.company;
public class TDD {
public static void main(String[] args){
int count1=0,count2=0,count3=0;
String ch="ddejidsEFALDFfnef2357 3ed";
char[] c=ch.toCharArray();
for(int i=0;i<c.length;i++){
if(c[i]>='A'&&c[i]<='Z'){
count1++;
}
else if(c[i]>='a'&&c[i]<='z'){
count2++;
}
else {
count3++;
}
}
System.out.println("大写字母数:"+count1);
System.out.println("小写字母数:"+count2);
System.out.println("非英文字母数:"+count3);
}
}