小白学java第22天
继承 接口对比总结:
继承的价值在于:解决代码的复用性和可维护性
接口的价值在于:设计,即设计好各种规范(方法),让其他类去实现这些方法
接口比继承更加的灵活
接口在一定程度上实现代码解耦(即:接口规范性+动态绑定)
接口的多态:
1.多态参数
2.多态数组
3.接口存在多态传递现象
类的五大成员:属性,方法,构造器,代码块,内部类
内部类: 一个类的内部有完整的嵌套了另一个类结构。被嵌套的类称为内部类,嵌套其他类的类又称为外部类,内部类的最大特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系
内部类的分类:
定在外部类局部位置上(比如方法内):
1.局部内部类(有类名)
(1) 局部内部类是定义在外部类的局部位置,通常在方法,并且有类名
(2)可以直接访问外部类的所有成员,包括私有的
(3)不能添加修饰符,但是可以用final修饰
(4)作用域:仅仅在定义它的方法或代码块中
(5)外部类在方法中可以创建对象,然后访问内部类
(6)外部其他类不能访问局部内部类,因为局部内部类的地位是一个局部变量
(7)如果外部类和局部内部类方法重名时,默认遵循就近原则,如果想访问外部类的成员就使用外部类名.this.成员去访问
2.匿名内部类(没有类名)(说明:匿名内部类是定义在外部类的局部位置,比如方法中并且没有类名)
基本语法:new 类或接口(参数列表){
类体}
注意:(1)本质是类
(2)内部类
(3)该类没有名字
(4)是一个对象
(5)可以直接访问外部类的所有成员包括私有的
(6)不能添加访问修饰符,因为它的地位是一个局部变量
(7)作用域:仅仅在定义它的方法或代码块中,因为它的地位是一个局部变量
(8)外部其他类不能访问内部匿名类
(9)如果外部类和匿名内部类的成员重名时,匿名内部类访问的话默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.类名)来访问
优点:
(1)匿名内部类可以当做实参直接传递