抽象類

抽象類

問:用final關鍵字可不可以修飾抽象類?
答:不可以
因為:
1,用final修飾的會變成常量,不能被更改;
2,用final修飾的方法不能被重寫
3,用final修飾的類不能被繼承

  • 抽象類的一些用法:
//  abstract  用來修飾抽象類
//  抽象類中可以定義非抽象方法和屬性
//  抽象類是不可以實例化的
//  抽象類的抽象方法必須實現(xiàn)
abstract class Shape {
    private String name;
    //也可以有非抽象方法
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return this.name;
    }
    
    abstract double bc();
    abstract double area();
    //有構造方法
    public Shape() {
        this.name = name;
    }
    
    public Shape(String name) {
        this.name = name;
    }
}

class Square extends Shape {
    //正方形有邊長
    double sideLength;
    
    @Override   //周長
    double bc() {
        return this.sideLength * 4;
    }

    @Override   //面積
    double area() {
        return this.sideLength * this.sideLength;
    }   
    
    public Square() {
        
    }
    
    public Square (String name,double sideLength) {
        this.setName(name);
        this.sideLength = sideLength;
        
    }
}
class Rectangular extends Shape {
    double length;
    double width;
    @Override
    double bc() {
        return (this.length + this.width) * 2;
    }
    @Override
    double area() {
        return this.length * this.width;
    }
    
    public Rectangular() {
        
    }
    public Rectangular(int length,int width,String name) {
        super(name);
        this.length = length;
        this.width = width;
    }
    
}

//沒有抽象方法也可以定義抽象類
abstract class a {
    public void func(){
        
    }
}
  • main函數(shù)中的實現(xiàn):
public static void main(String[] args) {
        Square square = new Square("aa",10);
        double area = square.area();
        System.out.println("squ的名字" + square.getName() + "面積為" + area);
        
        Rectangular rect = new Rectangular(10,12,"bb");
        System.out.println("rect的名字" + rect.getName() + "面積為" + rect.area());
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容