回 帖 发 新 帖 刷新版面

主题:[原创]java中的抽象类



java中的抽象类


我的QQ号:2535279 
我的QQ群:58591592

www.javaedu.com.cn

在java中定义类时,可以仅声明方法名称而不指明方法体,这样的方法称之为抽象方法。如果一个类中包括

了抽象方法,则该类称之为抽象类。因为,抽象类中,尚有方法没有实现,所以,抽象类是不能生成对象的

。这称之为不能实例化。虽然,它不能用来生成对象,但它的主要功能是被继承的。它的子类继承它的所有

的方法,并在继承后去实现抽象类没有实现的方法。

我们已经知道了抽象类和抽象方法的概念,那么应该怎么声明呢?相信很多人已经知道了,是使用abstract

关键字。

我们来举个例子:

有一个动物类Animal

public abstract class Animal{
    
    String name;
    String weight;
    
    ...
    
    public abstract void eat(){
    }
}

public class Cat extends Animal{

    public abstract void eat(){
        System.out.println("小猫喜欢吃鱼");
    }
}

public class Dog extends Animal{

    public abstract void eat(){
        System.out.println("小狗喜欢啃骨头");
    }
}

这里的Animal是一个抽象类,它包含一个抽象方法eat(); 因为,Animal中包含抽象方法,所以,我们这里

可以不在Animal前加上abstract关键字,Animal也是一个抽象类。

这里提醒一下:将抽象类的名称加上abstract作为开头,可表明这是一个抽象类,用意在于提醒开发人员不

要使用这个类来产生实例;

回复列表 (共2个回复)

沙发

兄弟,我要纠正一些错误!
1.如果类中包含抽象方法,那这个类一定是抽象类,必须用abstract关键字申明,没有抽象方法,类也可以申明为抽象类
2.你写的类有点问题,抽象方法没事实现体,所以抽象方法只有申明,没有{}
3.在继承抽象类,在子类中实现抽象方法的时候,不需再加关键字abstract,和2有点类似

板凳


噢,我再看看咱们再讨论

我来回复

您尚未登录,请登录后再回复。点此登录或注册