JavaSE 学习参考:方法重写

抽象类

抽象类是对子类扩展的方法只保留方法的签名,没有给出具体定义,其目的对继承的子类作统一约定,明确功能,具体的实现由子类完成,因为子类有各自实现,所以无须实现,这在多态机制有非常重要的作用。Java使用在定义类时使用abstract关键字标识。抽象类是不能创建实例的。

抽象方法

抽象方法是只有方法签名而没有方法体的方法,Java使用abstract关键字标识。

抽象类中可以包含普通的成员方法,也可包含抽象方法。包含有抽象方法的类一定是抽象类。但是抽象类不一定不包含抽象方法。

子类继承抽象类,一种情况是实现父抽象类全部方法,成为可实例化的类,另种一种只是部分实现、没有实现父抽象类的抽象方法或新增抽象方法仍为抽象类。

abstractclassFather {

publicvoidprintStart(){

System.out.println("***********");

}

publicabstractvoidprintValue();

}

classSonAextendsFather{

inta;

publicSonA(inta){

this.a=a;

}

//实现父抽象类的抽象方法。

publicvoidprintValue(){

System.out.println("a="+a);

}

}

abstractclassSonBextendsFather{

inta;

intb;

publicSonB(inta,intb){

this.a=a;

this.b=b;

}

}

publicclassDemo1 {

publicstaticvoidmain(String[]args) {

SonAsona=newSonA(1);

sona.printStart();//调用从父类继承的成员方法

sona.printValue();

// SonBsonb=new SonB(2,3);//子类并没实现父抽象类抽象方法,仍为抽象类,不能实例化

// sonb.printStart();

// sonb.printValue();

}

}

运行程序,结果如下图所示:

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

推荐阅读更多精彩内容

  • 方法重写override:子类对父类定义的方法重新定义的这种语法机制称为方法重写。子类重写的方法具有和父类相同的方...
    博为峰51Code教研组阅读 174评论 0 0
  • 这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱。只要能够搞明白这个系列的绝大多数题目,在面试...
    独念白阅读 350评论 0 3
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,261评论 0 2
  • 什么是对象 1.对象的概念:对特定一个存在事物2.什么是面向对象:以自我为中心对待一个特定事物存在,需要自己描述出...
    joshul阅读 723评论 0 1
  • 不要去想那些傷心的事情, 不要哭泣, 不要覺得自己很壞, 我只要開心就好, 這個世界沒有人會先愛上我, 我一定要先...
    寅夕阅读 102评论 0 0