li

XXXXX

 

java---抽象类

抽象方法:

  • 由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(); 
    } 
}

 

posted on 2022-04-15 13:19  LXXXXxZz  阅读(71)  评论(0编辑  收藏  举报

导航