问题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属性名的方法中进行判断、控制,这样属性就不会随意的被赋值上任何非法的值了。
详细:
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属性名的方法中进行判断、控制,这样属性就不会随意的被赋值上任何非法的值了。