亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

封裝D問題

package com.imooc;


public class Gouzao {

float screen;

float cpu;

float men;

public Gouzao(){

System.out.println("無參構造方法執行了");

}

? ? public Gouzao(float newScreen,float newCpu,float newMen){

? ? if(newScreen<3.5){

? ? System.out.println("您輸入的參數有誤,自動賦值為3.5");

? ? screen=3.5f;

? ?

? ? }else{

? ? screen=newScreen;

? ? }

? ? cpu=newCpu;

? ? men=newMen;

? ? System.out.println("有參的構造方法執行了"+screen+"\t"+cpu+"\t"+men);

? ?

? ? }

}




package com.imooc;


public class IntGouzao {

public static void main(String[] args) {

Gouzao phone=new Gouzao();

Gouzao phone1=new Gouzao(4.0f,4.0f,5.2f);

phone.cpu=3.6f;

phone1.screen=6.0f;


}

? ??

? ??

}




無參構造方法執行了

有參的構造方法執行了4.0 4.0 5.2

結果沒有變,為什么??

正在回答

2 回答

你的變指的是什么?你這里代碼輸出的都是在初始化構造方法的時候輸出的值。你后期賦值phone.cpu=3.6f;

phone1.screen=6.0f.這里變量的值已經改變了,但是你并沒有在控制臺打印出來,所以控制臺顯示的都是你構造方法中的值。

0 回復 有任何疑惑可以回復我~

主函數里有參的構造函數執行后,已經打印輸出值,這時你再phone1.screen=6.0f改變值,雖然值是改變了,但是沒有顯示出來,你可以在后面加上System.out.println("修改后的值"+screen);應該就可以顯示了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531144    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

封裝D問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號