为了账号安全,请及时绑定邮箱和手机立即绑定

关于封装修改属性的问题

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

正在回答

3 回答

你在一个类中进行修改的原因,你看看老师是创建了两个类

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

被private修饰的属性可以在本类中被访问,封装应该是针对不同类来讲的,你可以试一下,在其他类调用被private修饰的成员变量,像你这样直接赋值就会报错了。

2 回复 有任何疑惑可以回复我~

因为构造函数就是给你成员赋一个初始值,当你给变量再赋值的时候,他就会把初始值给覆盖掉,而且调用你赋的那个值,原先的那个初始值就会被系统的垃圾回收器回收。

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

举报

0/150
提交
取消

关于封装修改属性的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信