什么是抽象类,就像“颜色”,有很多颜色,这是抽象;你问有什么颜色,红蓝绿,这就是实例化
先看抽象类
public abstract class Color{
public void get(){
}
}
class Red extends Color{
public void get(){
System.out.println("这是红色");
}
}
class Blue extends Color{
public void get(){
System.out.println("这是蓝色");
}
}
public class Demo {
public static void main(String[] args) {
Color color1 = new Red();
Color color2 = new Blue();
// Color color3 = new Color();抽象类不能被实例化
color1.get();
color2.get();
}
}
注:抽象类不能被实例化,只能通过它的子类来实例化,且实例化时是向上转型,抽象类中要写好方法。
抽象类
public abstract class Teacher {
//含有抽象方法必须是抽象类
public abstract void Teaching();//只需定义不需实现
}
class Math extends Teacher{ //继承抽象类必须重新实现抽象方法
public void Teaching(){
System.out.println("数学老师");
}
}
class English extends Teacher{
public void Teaching(){
System.out.println("英语老师");
}
}
public class Demo {
public static void main(String[] args) {
Teacher zhao = new English();
Teacher yuan = new Math();
zhao.Teaching();
yuan.Teaching();
}
}