父类(抽象类):
public abstract class AbstractClass {
//抽象类中,可以有实例变量、普通方法、抽象方法、构造方法
private String name;
//一个抽象方法
public abstract void happy();
//普通方法
public void sleep() {
System.out.println("我想睡觉");
}
}
子类(实现类):
public class AbstractClass02 extends AbstractClass{
@Override
public void happy() {
System.out.println("每天开心啊");
}
public void stay(){
System.out.println("发呆中,勿扰。");
}
}
测试类:
public class AbstractTest {
public static void main(String[] args) {
/* 抽象类不能生成对象,只能由它的子类生成对象;
* 子类必须实现父类中的所有抽象方法 (除非子类也是抽象类);
* 生成的子类对象可以调用父类中的普通方法、实现的抽象方法、子类中特有的方法。*/
AbstractClass02 ac = new AbstractClass02();
ac.happy();
ac.sleep();
ac.stay();
}
}
运行结果:
每天开心啊
我想睡觉
发呆中,勿扰。