Object
所有类的父类;其中同时所有类都继承Object类的equals方法,
equals方法在Java源代码中使用的==来表示,Java项目组强烈建议我们在创建类时重写equals方法。
内部类
内部类与外部类的关系:内部类可以访问外部类的所有成员,外部类需要创建内部类的对象才能访问内部类的成员。
内部类的被访问方式:(1)内部类是在成员的位置上的被访问方式,可以被修饰符修饰。
(2)如内部类是静态,在创建外部类时,会自动初始化内部类,即自动创建内部类对象。可以直 接创建内部类对象。
(3)当内部类的方法是静态时,该静态方法也可以使用类名调用。因为该静态方法已经在加载外 部类是自动加载到内存。
内部类注意事项:(1)非静态内部类不允许定义静态成员。因为内部类没有加入内存,内部的静态成员就无法加入到内 存,因此报编译错误。除非内部类的静态成员是final修饰。
(2)成员内部类可以Outer.this.Inner()调用,如是静态成员内部类不可以.this。
(3)局部内部类(方法内的内部类,或者是其他局部内的内部类)在访问方法内的局部变量或者其他 局部内的局部变量时,局部变量必须添加final修饰,1.8后新特性已经隐藏final。因为当方法调用 完后,方法退栈,局部变量被回收(退栈),局部变量就消失了。(仅作理解)
内部类的继承:内部类可以继承和实现接口,当你不想将内部内暴露出去,你就可以让内部类继承类或者实现接口,从而 提供暴露的方法提供内部类对象,那么就可以在外部获取到内部类的对象。
this关键字:Outer.this 表示Outer类的当前对象
对于子父类方法的调用问题,调用那个方法主要是看堆空间内封装的是父对象还是子对象。