第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于java中的繼承

關(guān)于java中的繼承

皈依舞 2023-03-31 16:57:06
我很困惑超級.i = j+1;這行代碼。我認(rèn)為它只改變了A類中的變量i,并沒有改變B類中的繼承變量i。為了使問題清楚,我添加了另一個示例(示例 2)。在示例 2 中,我們使用超級(余額,名稱);初始化從父類繼承的屬性。當(dāng)我們調(diào)用 super 并更改變量 balance 和 name 時,我們不會更改父類中的變量 balance 和 name。在示例 1 中,我們使用超級.i = j+1;我們實際上更改了父類中的變量 i,而不是從父類繼承的變量 i。這兩個樣本有什么區(qū)別?太感謝了。2019-07-18 編輯我在示例2中添加了一個diriver類。我們在CheckingAccount中創(chuàng)建一個對象c后,c中的余額為200,名稱為“XYZ”。我們在子類中使用 super(argument),我們是否更改超類中的余額和名稱?如果不是,為什么要更改樣本 1 中的變量 i?//Sample oneclass A{    int i;}class B extends A{    int j;    void display() {        super.i = j+1;        System.out.println(j+ " "+i);    }}public class CC {    public static void main(String[] args) {        // TODO Auto-generated method stub        B obj = new B();        obj.i =1;        obj.j = 2;        obj.display();    }}//sample 2//parent classpublic class BankAccount {    protected double balance=0;    protected String name="ABC";    public BankAccount(double balance, String name) {        this.balance = balance;        this.name = name;    }}//child classpublic class CheckingAccount extends BankAccount{    final int CHARGE = 5;    final int NO_CHARGE = 0;    private boolean hasInterest;    public CheckingAccount(double balance, String name, boolean hasInterest) {        super(balance,name);        this.hasInterest = hasInterest;    }}//driver classpublic class DriveClass {    public static void main(String[] args) {        CheckingAccount c = new CheckingAccount(200,"XYZ",true);}}輸出是2 3
查看完整描述

2 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊

這是iB 類中隱藏i在 A 類中的位置。 和this.i是super.i不同的。


class A {

   int i;


   void print() {

      System.out.println("i = " + i);

   }

}


class B extends A {

   int j;

   int i;


   void display() {

      i = j + 1;

      super.i = 1000;

      System.out.println(j + " " + i);

      print(); // this will print the i in A

   }

}


查看完整回答
反對 回復(fù) 2023-03-31
?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗 獲得超9個贊

超級(余額,名稱)

這就調(diào)用了父類的構(gòu)造函數(shù)來初始化父類中的變量balance和name。是的,確實改變了父類中balance和name的值

超級.i = j+1

這將 j+1 分配給父類變量 i。

一種是通過構(gòu)造函數(shù)初始化父類變量,另一種是直接給父類變量賦值。兩者不同


查看完整回答
反對 回復(fù) 2023-03-31
  • 2 回答
  • 0 關(guān)注
  • 124 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號