1.Void是用来干嘛的?
1.void的包装类
2.用于一直返回null的方法
3.用于一直返回null的泛型
不能实例化(因为构造器私有吧)
2.Java类初始化顺序是怎样的?
静态变量>静态初始块>成员变量>非静态初始块>构造器
父类>子类
静态>非静态
变量>初始块>构造器
完全体:
父类静态变量>父类静态初始块>子类静态变量>子类静态初始块>父类成员变量>父类非静态初始化>父类构造器>子类成员变量>子类非静态初始块>子类构造器
tips:从上往下,从左往右组合就可以得到上面的式子。(父类非静态变量=成员变量,父类非静态构造器=父类构造器,类非静态构造器不存在)
3.Java如何判断两个类或者接口之间的派生关系?
使用isAssignableFrom
方法。
例如:
class Animal { } class Dog extends Animal { } public class Main { public static void main(String[] args) { if (Animal.class.isAssignableFrom(Dog.class)) { System.out.println("Dog 是 Animal 类或其子类"); } // 或者 if (Dog.class.isAssignableFrom(Animal.class)) { System.out.println("Animal 是 Dog 类或其子类"); } } }
这将输出 “Dog 是 Animal 类或其子类”,因为
Dog
继承自Animal
。isAssignableFrom
方法用于检查类或接口之间的继承关系。
注意:不是instanceof
,那是对象和类之间关系判断