Java面向对象:抽象类与抽象方法

  • 抽象类

类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。

  • 用abstract关键字来修饰一个类,这个类叫做抽象类。
  • 用abstract来修饰一个方法,该方法叫做抽象方法。
    抽象方法:只有方法的声明,没有方法的实现。以分号结束:
    比如:public abstract void talk();
  • 含有抽象方法的类必须被声明为抽象类
  • 抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。
  • 不能用abstract修饰变量、代码块、构造器;
  • 不能用abstract修饰私有方法、静态方法、final的方法、final的类。
abstract class A {
    abstract void message1();

    public void message2() {
        System.out.println("A类中定义的message2方法");
    }
}

class B extends A {
    void message1() {
        System.out.println("B类中定义的message1方法");
    }
}

public class Test {
    public static void main(String args[]) {
        A a = new B();
        a.message1();
        a.message2();
    }
}

抽象类应用

抽象类是用来模型化那些父类无法确定全部实现,而是由其子类提供具体实现的对象的类。
抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,205评论 0 2
  • java继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继...
    863cda997e42阅读 701评论 0 1
  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 490评论 0 2
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 1,230评论 0 5
  • 楚波梳悠岸。孤帆渡。忘愁眠。時光荏苒,歲月靜清淺。愫蓮無聲慢幽殘,絲縷映畫欄。 秋霞枕湖,蘆蔓薇嫣,銀蕙婉、紅日妍...
    弘湉阅读 158评论 0 0