1、一个.java文件只能有一个public类,且类名和文件名必须相同。
2、在一个具有包访问权限的类中定义一个 public 的构造器并不能真的使这个构造器成为 public,在声明的时候就应该标记为编译时错误
3、java文件中没有 public 类也是可能的。这时可以随意命名文件。
4、类只能是包访问权限或者public。
5、初始化引用的四种方式:
对象被定义时。类的构造函数中。实际使用对象之前(比如调用需要执行的方法的时候)。实例初始化。6、如果没有指定要继承的类,则对象直接继承Object类。
7、必须正确初始化父类对象。在调用子类构造函数的时候会通过调用父类构造函数在构造函数中执行初始化(子类构造函数的第一行默认为super())。
8、可以理解为子类对象包含着父类对象,所以创建子类对象时需要初始化父类对象。
9、如果父类没有无参构造器,则子类需要使用super(参数列表)调用父类构造器,必须是第一个执行的操作。
10、不想暴露父类所有的方法,这个时候可以想到使用委托。委托具有更大的灵活性。
11、如果子类和父类都有重载的方法,则都会起作用。
12、继承是是一个的关系,组合是有一个的关系。
13、多用组合,少用继承。
14、继承有时候会使得子类拥有一些不必要的方法。
15、新类是已有类的一种类型。
16、向上转型是安全的。
17、如果需要向上转型我们才更多的考虑使用继承,否则多使用组合。
18、被final修饰的变量必须在定义时 或者在构造器中进行初始化。
19、一个被 static 和 final 同时修饰的属性只会占用一段不能改变的存储空间。
20、final 使引用恒定不变,但是对象中本身可以改变。
21、final方法不能被重写。
22、类中所有的 private 方法都隐式地指定为 final。
23、被final修饰的类不能被继承。
24、构造器也是一个 static 方法尽管它的 static 关键字是隐式的。
25、一个类当它任意一个 static 成员被访问时,就会被加载。