/*
*A:抽象类的成员特点:
* a:成员变量:既可以是变量,也可以是常量。abstract是否可以修饰成员变量?不能修饰成员变量
* b:构造方法:有
* 用于子类访问父类数据的初始化
* c:抽象类成员方法特性:
* a:成员方法,强制要求子类做的事情
* b:非抽象方法,子类继承的事情,提高代码复用性
* */
public class Demo8_Abstract {
public static void main(String[]args){
Demo d=new Demo1();
d.Demo1();
d.Demo2();
}
}
abstract class Demo{
int num1=10;
final int num2=20;
public Demo(){
System.out.println("父类空参构造");
}
public abstract void Demo1();
public void Demo2(){
System.out.println("非抽象方法");
}
}
class Demo1 extends Demo{//子类不是抽象类时,想要实例化,要对父类的抽象方法重写
@Override
public void Demo1(){
System.out.println("重写父类抽象方法");
};
}