初识java类的接口实现
生活随笔
收集整理的這篇文章主要介紹了
初识java类的接口实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
初識java類的接口實現
- 如果兩個類之間不存在繼承關系,且兩個類都想實現同一個接口,兩個類都必須實現接口中全部方法,否則報語法錯誤
- 如果兩個類之間存在繼承關系也想實現同一個接口,父類如果實現了某個接口的全部方法,從語法角度看,子類可以不去實現該接口的方法,但從功能多樣化角度看,子類需要實現接口中全部或部分方法來實現子類本身的功能,且子類實現該接口的方法看作對父類實現接口方法的重寫
//Book類和EBook類都想實現Method接口完成價格操作
interface Method {public abstract int getPrice();public abstract void setPrice(int p);
}
class Book implements Method {private int price;public int getPrice() {return this.price;}
}
class EBook implements Method {private int price;public int getPrice() {return this.price;}public void setPrice(int p) {p = this.price;}
} 報錯:
The type Book must implement the inherited abstract method Method.setPrice(int)
就是Book類必須實現Method接口的setPrice(int)方法,即兩個類都要實現Method所有抽象方法
//通過實現Method接口實現Rectangle類和Square類的面積計算
interface Method {public abstract int calArea();
}
class Rectangle implements Method {private int length;private int width;public Rectangle(int l, int w) {this.length = l;this.width = w;}public Rectangle() {this(0,0);}public int calArea() {System.out.println("Rectangle");return length*width; }
}
class Square extends Rectangle {private int edge;public Square(int e) {this.edge = e;}public int calArea() {return this.edge*this.edge;}
} 其中子類正方形類中的calArea()方法可以不實現,因為在父類中已經實現了calArea()方法,從語法角度看,不實現calArea()方法沒有錯誤,但從實現功能看,子類要實現calArea()方法實現因為正方形類有自己的計算面積公式即s=e*e;(與父類不同的計算方式)
以上就是初識java類的接口實現的全部內容了,更多內容請關注:CPP學習網_CPP大學
本文固定鏈接:CPP學習網_CPP大學-初識java類的接口實現
轉載于:https://www.cnblogs.com/cppys/p/6640483.html
總結
以上是生活随笔為你收集整理的初识java类的接口实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电王
- 下一篇: UIImage 各种处理(分类)