抽象方法:
- 由abstract修饰的类是抽象类;
- 一个类如果包含抽象方法,那么一定是一个抽象类;
- 抽象类中可以有抽象方法,也可以有非抽象方法;
- 继承抽象类后必须实现抽象类中定义的所有抽象方法;
- 不同的子类可以有不同 的实现
//图形类
public abstract class Shape {
//抽象类
public abstract void area();
//抽象方法
}
//圆类
public class Circle extends Shape{
/** The type Circle must implement the inherited * abstract method Shape.area() */
@Override
public void area() {
System.out.println(4*4*3.14);
}
}
//正方形类
public class Square extends Shape{
@Override
public void area() {
System.out.println(4*4);
}
}
抽象类不能被实例化;
一个类中没有抽象方法也可以定义为抽象类,同样也不能实例化;
抽象类不能使用final修饰,因为final修饰的类不能被继承,则抽象类没有意义。
public class TestAbstract {
public static void main(String[] args) {
//Cannot instantiate the type Shape 不能实例化shape类型 //Shape s = new Shape();
Circle c = new Circle();
c.area();
}
}
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/244357.html