标签:01 void move public 抽象 Animal 抽象类 javase
抽象类-类-对象
对象:现实中真实存在的
类:对象与对象之间有共同特征,抽象形成类
抽象类:类与类之间有共同特征,抽象形成抽象类,无法实例化,无法创建对象,有构造方法用来被子类继承的。
抽象类语法:修饰符列表 abstract class 类名{类体}
抽象方法:没有实现,没有方法体的方法eg:public abstract void do();(所以子类必须重新)
抽象类可以没有抽象方法,但是抽象方法一定在抽象类中
重点!!!!!
子类不是抽象类,必须将继承过来的抽象方法进行覆盖/重写,也叫做“实现”。(子类是抽象类可以不用)
父类(抽象类):Animal 子类:Bird
Animal a=new Bird();这就是面向抽象编程,调用时a.xxx,a的类型是Animal是抽象的。
尽量面向抽象编程,不用面向具体编程,降低程序的耦合度,提高程序的扩展力
public class test01 {
public static void main(String[] args) {
Animal a=new Bird();
a.move();
Animal c=new Cat();
c.move();
}
}
abstract class Animal{
public abstract void move();
}
class Bird extends Animal{
public void move(){
System.out.println("鸟在飞");
}
}
class Cat extends Animal{
public void move(){
System.out.println("猫在走");
}
}
标签:01,void,move,public,抽象,Animal,抽象类,javase 来源: https://blog.csdn.net/qq_46533292/article/details/122448612
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。