this的作用是什么?都有哪些用途?
[1] 调用成员变量
解决局部变量和成员变量之间的二义性,此时必须使用
[2] 调用其他成员方法
public void sayHi(){
System.out.println("我的自白:");
this.showInfo(); }
[3] 调用本类其他构造方法
this可以调用本类其他构造方法,语法
this(实参1,实参2,...);
super的作用是什么?都有哪些用途?
super 关键字表示父类对象,子类要访问父类成员时一定要使用super
[1] super 访问父类非私有字段
[2] super 访问父类非私有方法
[3] super 访问父类构造方法
super 调用构造方法必须写在子类构造方法的第一句。
如果子类构造方法没有显式调用父类任何构造方法时,那么jvm会默认调用父类的无参构造super()
用static修饰的成员和不用static修饰的成员的区别?
static 关键字表示静态,可以修饰成员变量构成静态变量,修饰成员方法构成静态方法。
静态变量和静态方法都归类所有,称为类的静态成员,用static关键字修饰。
静态变量和静态方法称为类的静态成员,归类所有,其他地成员变量和成员方法称为类的实例成员,归
对象所有。
final能用在哪些地方,各自的作用是什么?
final 表示最终的意思,可以修饰类、方法、局部变量,甚至可以修饰成员变量
说说你对静态代码块的理解
1>被static关键字修饰的代码块称为静态代码块。
2>静态代码块位于类的内部、方法的外部。
3>静态代码块只执行一次(jvm加载xx.class时执行),在构造代码块、构造方法前执行。
4>当类的字节码被加载到内存时,此时程序需要加载一些资源(读取资源文件、读取配置文件等),可以使用
静态代码块,此时被加载进来的资源一般都可以被多个实例所共享。
什么时候可以使用匿名内部类?语法是什么?(不要抄文档)
当一个类只使用一次,可以声明成匿名内部类。匿名内部类 必须有 实现 存在。
匿名内部类,可以使用父类构造器和接口名来完成。
类的语法:
new 父类构造器([实参列表]){
// 匿名内部类的类体部分 }
接口的语法:
接口类型 变量 = new 接口名称(){
// 匿名内部类的类体部分 }