this的作用是什么?都有哪些用途?

  1. [1] 调用成员变量
  2. 解决局部变量和成员变量之间的二义性,此时必须使用
  3. [2] 调用其他成员方法
  4. public void sayHi(){
  5. System.out.println("我的自白:");
  6. this.showInfo(); }
  7. [3] 调用本类其他构造方法
  8. this可以调用本类其他构造方法,语法
  9. this(实参1,实参2,...);

super的作用是什么?都有哪些用途?

  1. super 关键字表示父类对象,子类要访问父类成员时一定要使用super
  2. [1] super 访问父类非私有字段
  3. [2] super 访问父类非私有方法
  4. [3] super 访问父类构造方法
  5. super 调用构造方法必须写在子类构造方法的第一句。
  6. 如果子类构造方法没有显式调用父类任何构造方法时,那么jvm会默认调用父类的无参构造super()

用static修饰的成员和不用static修饰的成员的区别?

  1. static 关键字表示静态,可以修饰成员变量构成静态变量,修饰成员方法构成静态方法。
  2. 静态变量和静态方法都归类所有,称为类的静态成员,用static关键字修饰。
  3. 静态变量和静态方法称为类的静态成员,归类所有,其他地成员变量和成员方法称为类的实例成员,归
  4. 对象所有。

final能用在哪些地方,各自的作用是什么?

  1. final 表示最终的意思,可以修饰类、方法、局部变量,甚至可以修饰成员变量

说说你对静态代码块的理解

  1. 1>被static关键字修饰的代码块称为静态代码块。
  2. 2>静态代码块位于类的内部、方法的外部。
  3. 3>静态代码块只执行一次(jvm加载xx.class时执行),在构造代码块、构造方法前执行。
  4. 4>当类的字节码被加载到内存时,此时程序需要加载一些资源(读取资源文件、读取配置文件等),可以使用
  5. 静态代码块,此时被加载进来的资源一般都可以被多个实例所共享。

什么时候可以使用匿名内部类?语法是什么?(不要抄文档)

  1. 当一个类只使用一次,可以声明成匿名内部类。匿名内部类 必须有 实现 存在。
  2. 匿名内部类,可以使用父类构造器和接口名来完成。
  3. 类的语法:
  4. new 父类构造器([实参列表]){
  5. // 匿名内部类的类体部分 }
  6. 接口的语法:
  7. 接口类型 变量 = new 接口名称(){
  8. // 匿名内部类的类体部分 }