Java抽象类的学习体会与注意事项

一、定义

   抽象类:用abstract声明的class为抽象类。

  抽象方法:用abstract声明的方法为抽象方法。

  抽象方法特点:只有方法定义,没有方法的实现(函数体)

抽象类的子类都必须实现它的方法,否则也为抽象类。

抽象类特点

  1. 不能用new关键字创建抽象类对象,只能用子类构造。

  2. 抽象类可以有普通的方法,但是如果有抽象方法,一定为抽象类。、

 1 //动物抽象抽象类
 2 public abstract class Animal {
 3  4     //抽象方法
 5     public abstract void eat();
 6  7     //抽象类中的普通方法
 8     public void breath(){
 9         System.out.println("呼吸");
10     }
11 }

抽象类与普通类区别:

  1. 有abstract关键字修饰

  2. 类中有抽象方法

  3. 不能通过new关键字实例化抽象类

抽象类的一些问题

  1. 抽象类有构造方法吗?

    抽象类有构造方法,原因是因为每一个继承抽象类的子类都默认需要在子类的构造方法中用super();调用父类的无参构造方法。由此可侧面验证抽象类是有构造方法的。

  2. 抽象类的是用来做什么的?

    抽象类的意义正如其名字一样,用来抽象一些类中的共有部分,将这些共有的部分抽取出来形成一个类,使类之间的逻辑关联性更强,并且大大减少代码量。

原文地址:https://www.cnblogs.com/polary/p/12576519.html