public class TestAbstract {
public static void main(String[] args) {
// TODO Auto-generated method stub
Button x = new StartButton();
Button s = new CloseButton();
x.click();
s.click();
}
}
/**
* 抽象类abstract
* 特点:1.访问权限必须是public或protected,不能为private
* 2.在方法返回类型前面加上abstract修饰符,告诉java这个是抽象方法
* 3.抽象方法没有大括号方法体,以小括号结束
* 4.要有继承关系,注意!!!!抽象类不能被实例化
*/
abstract class Button{
private String shape = null;
private String color = null;
public Button() {}; //构造方法
public abstract void click(); //声明抽象方法
}
class StartButton extends Button {
public StartButton() {};
public void click() {
System.out.println("由于继承了父类的抽象方法,所以子类必须存在这个方法");
};
}
class CloseButton extends Button {
public CloseButton() {};
public void click() {
System.out.println("关闭按钮");
};
}