抽象方法,抽象类,接口,内部类-------部分注意事项整理

抽象方法:
        抽象方法没有方法体,方法留给子类去实现(必须要求覆盖才有意义)

        抽象方法不能用private(是有的不能被子类所覆盖) final(因为必须有子类 抽象方法才能被实现) static, 作为修饰符

抽象类:
        不能new一个新的抽象类,只能作为父类
        抽象类可以不包含抽象方法,如果该类中有抽象方法那么整个类一定是抽象类
接口:(多个抽象类的抽象就是接口)
        接口表示为一种规范/约束 ,要求某一类事务必须的具备的功能,要求实现类必须
        多个类共有的特征

        接口不能new,接口中定义的成员变量 默认是 public static final 修饰的
        
        接口中定义的方法都是公共的抽象方法
        接口中定义的内部类都是静态内部类
        接口只能继承接口 ,不能继承类,接口支持多继承
        表达式:
            【修饰符】inteface 接口名 extends 接口1,接口2
        类实现接口的语法:
                【修饰符】class 实现类名 extends 父类 implements 接口1,接口2{}
成员内部类:成员内部类的访问方式:
                方式一:在外部类提供一个方法创建内部类的对象进行访问
                方式二:在其它类直接创建内部类的对象 格式:外部类.内部类  变量名 = new  外部类().new 内部类()
    内部类的应用场景:我们在描述一类事物的时候  发现描述的事物内部还存在一个比较复杂的事物时,而且这个比较事物还需要
访问 外部事物的属性等数据那么这个时候我们就需要内部类(一个类需要访问另一个类的很多属性的时候就需要内部类 因为内部类访问外部类比较方便)
    内部类的好处:内部类可以直接访问外部类的所有成员。
注意:
    1)如果外部类和内部类同时存在同名的成员变量时 默认访问的时内部类的成员变量
    可以通过"外部类.this.成员变量名"指定访问外部类的成员变量
    
    2)成员内部类一旦    出现了静态的成员该类也必须使用staic修饰。下
局部内部类:
                   在一个类的方法类内部定义另外一个类,那么另外一个类就称作为局部内部类
    注意细节:
        1)如果内部类需要访问局部变量那么这个变量必须用final修饰       
匿名内部类:
    没有类名的类就成为匿名内部类
    使用前提:必须存在继承或者实现关系
    匿名内部类适用于实参
    如果内部类需要访问局部变量那么这个变量必须用final修饰                                                         

猜你喜欢

转载自blog.csdn.net/qq_36802111/article/details/80958754