抽象类

来源:互联网 发布:怎么申请淘宝模特 编辑:程序博客网 时间:2024/04/29 18:10

在抽象类中的成员方法可以包括一般方法和抽象方法。抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。当一个方法为抽象方法时,意味着这个方法必须被子类的方法所重写,否则其子类的该方法仍然是abstract的,而这个子类也必须是抽象的,即声明为abstract。

抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要被声明为抽象类。抽象类本身不具备实际的功能,只能用于派生其子类。抽象类中可以包含构造方法,但是构造方法不能被声明为抽象。
抽象类不能用final来修饰,即一个类不能既是最终类又是抽象类。

abstract不能与private、static、final、native并列修饰同一个方法。
程序举例:
abstract class Animal    //定义抽象类
{
    String str;
    Animal(String s)     //定义抽象类的一般方法
   {
        str=s;
   }
    abstract void eat();      //定义抽象方法
}
class Horse extends Animal     //定义继承Animal的子类

    String str;
    Horse(String s)
   {
     super(s);      //调用父类的构造方法
   }
    void eat()      //重写父类的抽象方法
   {    
      System.out.println("马吃草料!");
   }
}
class Dog extends Animal
{
    String str;
    Dog(String s)
    {
      super(s);
    }
    void eat()
    {
    System.out.println("狗吃骨头!");
    }
}
class test
{
    public static void main(String args[])
   {
      Horse Horse1 = new Horse("马");
      Dog Dog1 = new Dog("狗");
      Horse1.eat();
      Dog1.eat();
    }
}

运行结果:
马吃草料!
狗吃骨头!

原创粉丝点击