抽象方法:
- 由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/244357.html