你的位置:首页 > Java教程

[Java教程]JAVA 抽象类


抽象类
abstract是一个修饰符
可以修饰方法,可以修饰类
1、当我们多个类存在相同的功能时,但是功能的主体不同,这时我们进行向上抽取,只抽取功能的定义不抽取功能的主体

抽象类的特点:
1、抽象方法一定要在抽象类中
2、抽象类和抽象方法必须要被abstract关键字修饰
3、抽象的类是不能被创建对象的,因为调用抽象的方法没意义
4、抽象类中的方法要被使用,必须由子类重写抽象类中的方法,然后创建子类对象来调用
5、抽象类中可以定义非抽象的方法,有时我们需要此类不能被new关键字创建对象时,可以用abstract将此类变成抽象类
6、子类如果只重写一部分的抽象方法,那么该子类还是一个抽象类,如果抽象类的方法要被使用,子类必须重写抽象类中的所有方法

值得注意:抽象类和普通的类没有太大的不同。
1、抽象类无法通过new关键字创建对象
2、抽象类里面可以有抽象的方法

abstract class Animal{  //如果方法是抽象的,那么类也必然要抽象,要用abstract修饰,类是抽象的,方法可以不抽象  abstract void sing();  //抽象的方法,去掉大括号,用abstract关键字修饰}class Cat extends Animal{  void sing(){    System.out.println("喵喵唱歌");  }}class Dog extends Animal{  void sing(){    System.out.println("汪汪唱歌");  }}public class Test{  public static void main(String[] args){    Animal c = new Cat();    c.sing();  }}