疯狂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();

  }

  }