目录
抽象类
1.抽象类是被abstract修饰的类
2.抽象类中的抽象方法
3.抽象类中可以有和普通类一样的成员变量和成员方法
4.抽象类不能被实例化
5.那么抽象类不能被实例化要它有何用???
6.注意:
抽象类
如果一个类中没有包含足够信息来描述一个具体的对象,这样的类就是抽象类
1.抽象类是被abstract修饰的类
(这里我们定义一个图形的抽象类)
abstract class Shape {
}
2.抽象类中的抽象方法
在抽象类中被abstract修饰的方法称为抽象方法,该方法可以没有具体的实现
abstract class Shape {
public abstract void draw();
}
当一个类中含有抽象方法的时候,该类必须被abstract修饰
3.抽象类中可以有和普通类一样的成员变量和成员方法
4.抽象类不能被实例化
(这里为了方便观察放到一个类里来看)
5.那么抽象类不能被实例化要它有何用???
就是为了被继承!!!
这里我们写一个rect(矩形)类继承Shape(图形)类
这里为什么会显示错误呢???
当一个普通的类继承抽象类之后,必须要重写抽象类当中使用的抽象方法
所以在这里我们就能这样实例化和进行向上转型!
public class Test {
public static void drawMap(Shape shape) {
shape.draw();
}
public static void main(String[] args) {
Shape shape = new rect();
drawMap(shape);
}
}
6.注意:
抽象方法不能被final,static,private修饰
final和abstract不能能同时存在的