JAVA关于SET,GET的方法应用和一些问题

问题1:JAVA关于SET,GET的应用,求改错?
详细:
public class Person {
private String name;    
public   void setName(String name){    this.name=name;  }  public  String getName(){    return name;   } public void getInfo(){    System.out.println("你的名字是:"+name);  
  }}
、、、、
public class TestPerson { public static void main(String[] args)
 {// TODO Auto-generated method stub  
Person p1=new  Person();
p1.age=25;               //求这里该怎么改?
 p1.name="6666";    //同上
p1.getInfo();
}}


回答:
p1.age=25; 更改为  p1.setAge(25);
p1.name="6666"; 更改为  p1.setName("6666");
其他字段的赋值也是同理,私有字段不可直接赋值,要调用其get  set 方法。
赋值是用set()方法,读取用get()方法。


问题2:求解JAVA的set与get方法
详细:
这两个方法到底有什么意义?是将public封闭还是将 private公开?例如下面的简单代码:
public class Person {
private String name;    //这里
 public   void setName(String name){
    this.name=name;
  }
  public  String getName(){
    return name;
   }
 public void getInfo(){
    System.out.println("你的名字是:"+name);
    }
}
、、、、
public class TestPerson {
 
public static void main(String[] args) {
// TODO Auto-generated method stub
   new Person().sayHello();
Person p1=new  Person();
p1.age=25;
    p1.name="6666";
p1.getInfo();
p1.sayHello();
}
}
这里面的name不能被查看,如果将private String name;换成public的话,是只能进行get和set里的操作(赋值)吗, 还是什么,求耐心解答下,新手理解不能.......


回答:
private才是私有,在Person外不能直接访问;
public是公开,在Person外也可以直接访问;


采用private是为了不让Person的代码直接通过 对象.属性名 来使用和修改,而是通过set属性名,get属性名,更安全,可以在set属性名的方法中进行判断、控制,这样属性就不会随意的被赋值上任何非法的值了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值