1、对象初始化过程:父类静态代码块(只执行一次)——子类静态代码块——父类构造代码块——父类构造函数——子类成员变量显式初始化——子类构造代码块——子类构造函数。
2、多态是对象的特性,静态不涉及多态。
3、子类可以继承父类的静态成员,但不能覆盖父类的静态成员。
4、public class FuZiTest
{
public static void main(String[] args)
{
Fu b=new Zi();
System.out.println(b.num);
b.show();
}
}
class Fu
{
int num=3;
void show()
{
System.out.println("Fu show");
}
}
class Zi extends Fu
{
int num=4;
void show()
{
System.out.println("Zi show");
}
}
结果为: 3
ZI show
4、局部内部类调用的局部变量必须用final修饰。
5、静态方法中的局部内部类为静态内部类,且不能用static关键字修饰(局部内部类是一个局部成员)。
6、如果内部类中有静态成员,内部类也必须声明为静态。
7、构造方法不能覆盖,不能继承。
8、一个构造方法可以使用this关键字调用另外一个构造方法,但是必须写构造方法第一行。
9、子类构造方法第一行写this();时代表引用了本类的空参构造方法,但这样用就没有默认的super();了。
10、正则表达式可以用()括起一部分表示一个组,用$1调用,1表示调用的是第一组。
11、printwriter构造方法最好加上true,能自动刷新写出。
12、成员变量(一个对象引用)没有显示初始化,在一个方法中显示初始化(实例化),在另外一个方法中也可以调用,这两个方法的调用不分先后。