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
你在一个类中进行修改的原因,你看看老师是创建了两个类
被private修饰的属性可以在本类中被访问,封装应该是针对不同类来讲的,你可以试一下,在其他类调用被private修饰的成员变量,像你这样直接赋值就会报错了。
因为构造函数就是给你成员赋一个初始值,当你给变量再赋值的时候,他就会把初始值给覆盖掉,而且调用你赋的那个值,原先的那个初始值就会被系统的垃圾回收器回收。