抽象类

Posted white-the-alan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类相关的知识,希望对你有一定的参考价值。

1、用abstract 关键字来修饰一个类时,这个类叫做抽象类:用abstract来修饰一个方法时,该方法叫做抽象方法

2、含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写

3、抽象类不能被实例化

4、抽象方法只需被声明,而不需实现

 

abstract class Aniaml {

  public String name;

  Animal (String name) {

    this.name = name;

    public abstract void enjoy();

  }

}

 

class Cat extends Animal {

  private String eyeColor;

  Cat(String n,String f) {

    super(n);

    this.eyeColor = eyeColor;

  }

  public void enjoy() {

    System.out.println("猫叫声......");

  }

}

 

class Bird extends Animal {

  private String featherColor;

  Bird(String n,String f) {

    super(n);

    featherColor = f;

  }

  public void enjoy() {

    System.out.println("鸟叫声.....");

   }

}

 

class Lady {

  private String name;

  private Animal pet;

  Lady(String name,Animal pet) {

    this.name = name;

    this.pet = pet;

  }

  public void myEnjoy(){

    pet.enjoy();

  }

}

 

public class Test {

  public static void main(String args[]) {

    //Lady l3 = new Lady("l3",new Bird("birthname","green"));

    Cat c = new Cat("catname","blue");

    Bird d = new Bird("dogname","black");

    Lady l1 = new Lady("l1",c);

    Lady l2 = new Lady("l2",d);

  }

}

以上是关于抽象类的主要内容,如果未能解决你的问题,请参考以下文章

抽象类及抽象类

抽象类与多态

抽象类和抽象方法

抽象类VS接口

抽象类

抽象类抽象方法