關于封裝修改屬性的問題
package com.immoc;
import com.immoc.Telphone;
public class Telphone{
private float screen;//屏幕大小
private float cpu;
private float mem;//內存大小
?public Telphone(float newScreen,float newCpu,float newMem){
??screen=newScreen;
??cpu=newCpu;
??mem=newMem;
?}
public static void main(String[] args) {
??Telphone phone2=new Telphone(5.0f,1.4f,2.0f);
??phone2.cpu=6.0f;
??System.out.println("screen:"+phone2.screen);
???? System.out.println("cpu:"+phone2.cpu);
??System.out.println("mem:"+phone2.mem);
?}
}
我不是封裝了嗎? 為何簡簡單單一改便成功了 輸出數據cpu是6.0
2019-01-09
你在一個類中進行修改的原因,你看看老師是創建了兩個類
2018-06-15
被private修飾的屬性可以在本類中被訪問,封裝應該是針對不同類來講的,你可以試一下,在其他類調用被private修飾的成員變量,像你這樣直接賦值就會報錯了。
2018-06-10
因為構造函數就是給你成員賦一個初始值,當你給變量再賦值的時候,他就會把初始值給覆蓋掉,而且調用你賦的那個值,原先的那個初始值就會被系統的垃圾回收器回收。