『壹』 java 里邊要實現一個抽象方法返回一個父類的私有屬性的值怎麼寫
abstract
class
Figure
{
private
String
shape;
public
Figure(String
shape)
{
this.shape=shape;
}
//這里添加一個get方法,便於子類訪問父類的屬性
public
String
getShape()
{
return
shape;
}
public
abstract
String
setShape();
}
public
class
A
extends
Figure
{
public
A(String
shape)
{
super(shape);
}
//通過父類的get訪問器訪問其私有屬性
public
String
setShape()
{
return
super.getShape();
}
}
在main方法裡面測試:
A
a=new
A("aa");
System.out.println(a.setShape());
『貳』 java中介面和抽象類以及它們的屬性方法都分別可以用什麼訪問修飾符
【Java介面修飾符是public abstract】
介面就是提供一種統一的」協議」,而介面中的屬性也屬於「協議」中的成員。它們是公共的,靜態的,最終的常量。相當於全局常量。抽象類是不「完全」的類,相當於是介面和具體類的一個中間層。即滿足介面的抽象,也滿足具體的實現。
介面中不可以定義變數即定義的變數前都要加上final修飾,使之成為常量(沒有final修飾的是變數,加上final修飾就會變成常量)。所以介面的屬性默認是public static final 常量,且必須賦初值。
【抽象類】
abstract抽象
1、修飾類時為抽象類,即為概念類,不能實例化;
2、修飾的方法為抽象方法,該方法沒有方法體,必須由子類實現,若沒有實現會報錯;
3、子類若為抽象類,則其中的抽象方法可不實現;
註:抽象類可以沒有抽象方法,但抽象方法所在的類必須為抽象類
『叄』 java如何拿到一個抽象類的屬性值
直接正常用就可以,但是不能實例化,被繼承後必須overrid所有抽象方法
『肆』 抽象方法要被override才能使用是嗎抽象屬性又是怎麼使用的呢
抽象方法是沒有實現的,相當於一個介面,你需要在子類中把它實現,抽象屬性和抽象方法的道理是一樣,也需要實現
『伍』 java 三種訪問修飾符各如何使用
public 在任何地方都可訪問 protected同包之間可以訪問非同包子類可以訪問 默認友好類:同包可以訪問 private本類可以訪問
下面是三大修飾符,你也順便看看吧
如果一個類中如果有抽象方法,那麼這個類必須是抽象類 , 抽象類中未必有抽象方法
抽象類抽象方法 抽象類中可以有抽象方法,也可以有實例方法 抽象方法只能聲明,不能實現後面用 ; 結尾
抽象類的子類如果不希望成為抽象類,那麼它就必須去實現父類中所有的抽象方法
抽象類允許定義構造方法
抽象類 只能聲明引用 , 不能創建對象
抽象方法不能與static 一起使用 , abstract 類中的方法必須在子類中重寫 ,並實現多態
Static 只能繼承並重寫父類中方法 , 但是不能實現多態 .
抽象方法不能與final 一起使用 , final 修飾的方法不能夠在子類中覆蓋,而抽象方法是必須要求要在子類中覆蓋的.
抽象類不能與private一起使用,抽象類中的方法都必須要在子類中重寫後實現,而private修飾的方法不能繼承,更談不上重寫覆蓋
Static
靜態的 . 可修飾 : 方法, 成員變數(屬性)
靜態屬性全類共有,由類名調用
靜態方法中只能訪問非靜態的成員(屬性+方法);
靜態方法可以被覆蓋,但是沒有多態
靜態初始化代碼塊
在類載入的時候,執行一次
類載入: 1 . 需要的話,先載入父類(可能父類已經載入過 ,這時候就可以不用載入父類了)
2 . 為靜態屬性分配空間並初始化
3 . 按順序執行靜態初始化代碼塊
Final
可修飾: 變數(局部變數和成員變數) : 賦值後不能再發生改變
方法 : final 修飾後的方法不能被覆蓋 ,但可以繼承
類 : final類不能被子類繼承
Final修飾屬性時候 , 屬性此時沒有默認值. 此時可以初始化屬性值,或者構造方法中賦值
一般情況下常量為 public static , 常量名全部大寫
這是我學習時候的筆記,希望對你有所幫助
『陸』 怎樣在java中定義一個抽象屬性
只有抽象類和抽象方法,沒有抽象屬性,因為這是無意義的;建議你把抽象類搞清楚就明白了
abstract String s = " " 這樣是不行嘀,抽象的修飾符只能修飾類和方法
『柒』 抽象類的訪問聲明
abstract類中的方法不可以是private,因為它要被子類重寫啊,你弄成private怎麼重寫呢?
『捌』 抽象類調用屬性怎麽調用
public static
是的,因為抽象的介面就是大家共同的外部特性
『玖』 java中如何理解抽象屬性(abstract)
抽象類不一定要有抽象方法 有抽象方法的類 一定是抽象類
abstract可以用來要求子類必須實現該方法
稱為子類責任
這也就是抽象的實際意義
『拾』 抽象方法能不能直接調用
抽象方法是不能調用的,原因就是抽象方法沒有方法體。
當一個方法為抽象方法時,意味著這個方法應該被子類的方法所重寫,否則其子類的該方法仍然是abstract的,這個子類由於繼承父類,擁有抽象方法,因此它也是抽象類,即聲明為abstract。abstract抽象類不能用new實例化對象,abstract方法只允許聲明不能實現。
如果一個類中含有abstract方法,那麼這個類必須用abstract來修飾,當然abstract類也可以沒有abstract方法。 一個抽象類裡面沒有一個抽象方法可用來禁止產生這種類的對象。
(10)如何訪問抽象方法中的屬性擴展閱讀:
在interface中所有的方法都是public abstract的,即使你沒有申明它是public abstract的。在interface中所有的數據成員都是public static final的,即使你沒有申明.但不能是blank final 在編譯時候確定的。
在Java,interface的地位和class是一樣的。實現interface的類,其interface中所有的方法必須被「實現」,否則這個類成為一個抽象類。Interface可以從多個interface得到繼承,但是不能繼承類。一個類可以實現多個interface。(摘自CSDN:抽象類,抽象方法和interface,作者:PeakLui)