當前位置:首頁 » 編程語言 » java子類調用父類

java子類調用父類

發布時間: 2022-09-13 16:24:30

『壹』 java中子類調用父類方法

interface Shape
{
double 面積();
}
interface Shape2D extends Shape
{
double 周長();
}

interface Scaleable
{
void scale(double proportion);
}
class 圓 implements Shape2D
{
float r;
圓(float r1)
{
r=r1;
}
public double 面積()
{
return (3.14*r*r);
}
public double 周長()
{
return (2*3.14*r);
}
}
class 矩形 implements Shape2D
{
float a,b;
矩形(float a1,float b1)
{
a=a1;
b=b1;
}

public double 面積()
{
return (a*b);
}
public double 周長()
{
return (2*(a+b));
}
}
class 縮圓 extends 圓 implements Scaleable
{
public 縮圓()
{
super(5);
}
public void scale(double proportion)
{

System.out.println("縮小後的面積是"+proportion*面積());
}
}
class A extends 縮圓
{
public static void main(String[] args)
{
縮圓 sy=new 縮圓();
sy.scale(0.5);
}
}
這個是正確的 要好好掌握基礎知識

『貳』 java實現子類調用父類的方法java實現子類調用父類的方法嗎

publicclass父類
{
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========HelloWorld!========== ");
init();
}//初始化!
privatestaticvoidinit()
{
//用子類實例調用!
newZi().show();

//用多態形式也是一樣可以滿足調用!
Fuf=newZi();

f.show();
}
}

//可以的!
classFu
{
voidshow()
{
System.out.println("父類方法..show");
}
}
classZiextendsFu
{
//這個方法,覆不覆蓋都可以!
voidshow()
{
super.show();
}
}

『叄』 java 子類調用父類構造方法會創建父類對象嗎

調用初始化方法並不代表會生成對象,你的java代碼中出現new關鍵字加上構造方法的調用,只會生成一個對象,其父類對象不會生成,所以調用父類為抽象類的構造方法完全是合理的。






抽象類中的構造方法其實是用來給繼承的子類來用的,因為構造方法相當於初始化方法,當子類調用構造方法時必須調用父類構造方法,所以你可以在子類產生對象時抽象類中按需求初始化抽象類中的欄位以及執行一些初始化代碼。其實並不是一定要生成某個類的實例才調用構造方法,子類也需要調用父類構造方法。


子類在創建實例後,類初始化方法會調用父類的初始化方法(除了Java.lang.Object類,因java.lang.Object類沒有父類),而這種調用會逐級追述,直到java.lang.Object的初始化方法。這個地方我說的是初始化方法,而不是構造方法,因為構造方法是相對於java源程序而言,而編譯後的class文件是初始化方法即" <init>"方法(紅色部分為方法名)。

『肆』 java(面向對象)中,子類如何調用父類的構造方法分別從無參和有參角度

首先子類中的方法必須調用父類的構造方法,如果父類中只有一個有參的構造方法,你在子類的構造方法必須調用,而且是子類的構造方法第一句話必須是調用父類的有參構造方法,否則編譯器會提示錯誤的。如果父類中有無參的構造方法,你沒有寫的話會自動調用的

『伍』 java子類構造中怎麼調用父類的構造函數

先小小糾正一下,java裡面一般不叫函數,叫方法,這是Java的一個小習慣。

你這個問題原因很簡單。

首先,任何類都有構造方法,難怕是你不寫,也會默認你有一個有無參構造方法。,所以你的A裡面就會有一個叫A()的構造方法。

當你new A()時,默認你有一個有無參構造方法A()的方法里的第一句,會自動加上一個super();的方法,這句就是調用父類構造方法的意思,這是java規定的規則。

你可以嘗試一下,在A里寫一個構造方法:

A(){

super(); //這個一定要放在第一句

System.out..XX;

}

這與你不寫super()這句效果是一樣的,因如果沒寫,java會默認在第一句加上super。

『陸』 java中,子類調用父類函數構造函數中被重寫的方法,輸出語句為什麼是默認值

1,Java的函數調用是虛擬調用,對象名.方法名,調用的都是其真實類型的函數,就是說,對象實際上是一個dog,那麼調用的就是dog的重寫方法。父類構造器之所以被調用,是因為子類的構造器會調用父類的構造器,整個過程實際上是dog的構造。

2,這個和初始化順序有關,new對象時,會先初始化成員變數再調用構造器,所以初始化順序是:父類的成員變數->父類構造器->子類成員變數->子類構造器

也就是說,父類構造器中調用getAge的時候,dog的成員變數還沒有初始化

等到子類構造器中再調用一次的時候,已經完成初始化。

『柒』 Java子類調用父類方法的問題

main方法中是可以的,父類是不能調用子類
的方法的。跟你說底層實現你也不懂,從面向對象上來說吧。
父類先於子類存在,子類從父類中生出來,所以子類知道父類,可以調用父類方法。但父類不知道子類,子類可以任意的出生,只要你願意,所以父類無法調用子類,他不知他會有這樣的子類,也不知有多少個子類,但子類的父類是唯一的。
簡單點就是在java中父類是不能調用子類的方法的。

『捌』 java子類如何調用父類變數和方法

其過程是先給子類的屬性,i分配存儲空間,並賦默認值0,執行父類構造方法, 裡面有個test(),這個方法被子類覆寫了,所以實際執行的是子類的test()方法。會輸出i,這時i=0,所以輸出0。然後給屬性i賦值10。 在給屬性i賦值的前 載入了父類 然後就有了後面的0

『玖』 如何在java中子類中父類的對象如何調用父類的方法

對於有繼承關系的類,子類可以通過這個關鍵字調用父類中的方法。
比如:super.query();
此句話的意思是調用父類中的非私有方法query。
一般的用super關鍵字,調用類中的父類中重載構造方法。
比如:父類有個構造方法public
A(){},同時又寫了一個重載的構造方法public
A(String
name);那麼,在子類中可以使用super(name)指明調用父類的哪個構造方法進行實例化父類對象。
大概就是這樣的!

熱點內容
怎麼把伺服器的ip固定了 發布:2025-01-12 03:55:42 瀏覽:578
php伺服器開發 發布:2025-01-12 03:55:35 瀏覽:672
軟體自製編程 發布:2025-01-12 03:54:00 瀏覽:534
j2ee和java的區別 發布:2025-01-12 03:42:44 瀏覽:581
android6小米 發布:2025-01-12 03:38:35 瀏覽:85
redis與資料庫 發布:2025-01-12 03:20:21 瀏覽:211
怎麼升級安卓100 發布:2025-01-12 03:19:37 瀏覽:516
c語言倒數 發布:2025-01-12 03:14:37 瀏覽:929
如何免費激活行動電話卡安卓 發布:2025-01-12 03:10:27 瀏覽:89
2020凱越精英配置什麼樣 發布:2025-01-12 03:08:02 瀏覽:685