1.类的访问权限
public任何地方都可以访问该类。
无任何限定符
同一包内可以访问。
2.成员方法与字段的访问权限
private仅成员函数可以访问。
protected
该类的子类的成员函数也可以访问。
public
可以通过对象直接访问。
无任何限定符
同一包内,可以通过对象直接访问。
3.代码
4.类的实例化顺序
初始化一个java对象,顺序是这样的。
父类静态变量,父类静态语句,子类静态变量,子类静态语句,父类构造函数,子类构造函数。
父类静态变量,父类静态语句,子类静态变量,子类静态语句,父类构造函数,子类构造函数。
注意静态部分的初始化都是
一次性的。
5.构造函数
构造函数是一类特殊的函数,名字与类名相同,不能有返回值(void)也不行。只能通过 new 操作符调用。
5.1 继承关系下的构造函数
当父类不提供无参构造函数时,子类的构造函数中必须显示地调用父类的构造函数;当父类提供了无参构造函数时,子类的构造函数中可以不显式地调用。
6.常见问答
问:如何防止类被继承?
答:使用 final定义类或设置构造函数权限为private。
问:子类会继承父类的私有字段么?
答:会的,但是不能直接访问,只能通过父类的public或protected方法访问。