1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
4、先执行父类的对象,然后再初始化子类的对象。
5、final关键字可以修饰类、方法、属性和变量。修饰类不允许被继承,修饰方法不允许被覆盖,修饰属性则不能在其他方法中修改值,同时系统也不会自动的初始化。
6、object是所有类的父类,通过重写toString方法可以直接输出对象的属性值。
7、equals()方法用来比较两个对象所指的内存是否一样,也就是地址是否一样。如果需要比较属性值是否相同则需要使用重写equals()方法,使用if (getClass() != obj.getClass())来判断得到的类对象是否一致。
8、强制类型转换时可能会报错,为了程序的安全性问题,我们可以使用instanceof关键字来避免转换时出错。(animals instancesof dog)来验证。
9、抽象方法没有方法体,以分号结束。