JAVA学习总结一

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类的当前对象 

对于子父类方法的调用问题,调用那个方法主要是看堆空间内封装的是父对象还是子对象。

 

 

 

你可能感兴趣的:(JAVA)