美文网首页
JAVA面向对象-day04

JAVA面向对象-day04

作者: Junglerengar | 来源:发表于2018-03-29 12:56 被阅读0次

    A

    抽象类

    什么是抽象类:如果在一个类的前面加上关键字abstract,这个类就是抽象类。
    
    抽象类无法直接实例化;抽象类里可以存在抽象方法,但也可以不存在抽象方法;
    
    抽象方法的特征:由abstract修饰的方法为抽象方法,抽象方法只有方法的定义,没有方法体实现,用一个分号结尾。
    
    如果一个类继承了抽象类,必须重写其抽象方法(除非该声明为抽象类)。
    
    abstract 和final这些关键字不可以同时修饰一个类,因为final使得类不能被继承,而abstract修饰的类如果不被继承就没有任何意义。
    
    抽象类有什么意义
      --为其子类提供一个公共的类型;
      --封装子类中的重复内容(成员变量和方法);
      --定义了抽象方法,子类虽然有不同的实现,但该方法定义是一致的。
    

    接口

    接口可以看成一种特殊的抽象类,即只包含抽象方法的抽象类。
    
    interface是创建接口的关键字;
    
    抽象类和抽象类之间可以继承(单继承);抽象类和接口之间只能实现(implements);接口和接口之间只能继承(可以多继承)。
    
    普通的类与抽象类之间用继承(单继承),普通的类与接口之间用实现(多实现)。
    

    多态(意义)

    一个类型的引用指向不同对象时会有不同的实现;
    
    同一个对象,造型成不同类型时,会有不同的功能。
    

    强制转型

    可以通过强制转换将父类型转换为子类型变量,前提是该变量指向的对象确实是该子类型。[如果不符合将出现:类型强制转换异常:ClassCastException]
    
    也可以通过强制转换将变量转换为某种接口类型,前提是该变量指向的对象确实实现了该接口。
    

    instanceof关键字

    对象instanceof类型:如果对象属于类型,则返回true;反之返回false.
    

    匿名内部类

    如果在一段程序中需要创建一个类的对象(通过这个类需要实现某个接口或者继承某个类),而且对象创建后,这个类的价值也就不存在了,这个类可以
    不必命名,称之为匿名内部类。
    

    相关文章

      网友评论

          本文标题:JAVA面向对象-day04

          本文链接:https://www.haomeiwen.com/subject/xqhycftx.html