一个没有具体的方法体的方法是抽象的方法
抽象类的特点
A:抽象类和抽象方法必须用关键字abstract修饰
B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类
C:抽象类不能实例化
D:抽象类的子类
a:是一个抽象类。
b:是一个具体类。这个类必须重写抽象类中的所有抽象方法。
抽象类的成员方法特性
1. 抽象 方法强制要求子类做的事情
2. 非抽象方法子类继承的事情
抽象方法有构造方法,接口没有构造方法
package test1;
abstract class animal{
private String name;
private int age;
public animal(){}
public animal(String name,int age){
this.name = name;
this.age = age;
}
public String getname(){
return name;
}
public void setname(String name){
this.name = name;
}
public int getage(){
return age;
}
public void setage(int age){
this.age = age;
}
public abstract void eat();
}
class dog extends animal{
public dog(){}
public dog(String name,int age){
super(name,age);
}
public void eat(){
System.out.println("狗吃肉");
}
}
public class abstracttest {
public static void main(String[] args){
dog d = new dog();
d.setname("旺旺");
d.setage(3);
System.out.println(d.getname()+"--"+d.getage());
System.out.println("--------------------");
dog d2 = new dog("豆豆",3);
System.out.println(d2.getname()+"--"+d2.getage());
}
}
结果:
旺旺–3
豆豆–3