get()方法用于返回数据,所以无参,但有返回值。set方法就是为了给某个成员变量赋值,所以一般就只有一个参数,放多个参数没有意义。
针对于类的封装,提高代码安全性
不省略get()是因为无get方法则在其它类中无法访问Student类中私有成员变量
public class Student {
/**成员变量*/
private String name;
private int age;
/**构造方法*/
public Student() {
System.out.println("无参构造方法");
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
/**成员方法*/
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void show() {
System.out.println(name + "," + age);
}
}
public class StudentDemo {
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("张三");
s1.setAge(20);
s1.show();
Student s2 = new Student("张三",30);
s2.show();
System.out.println(s2.getName());
}
}
输出结果:
无参构造方法
张三,20
张三,30
张三
·
·
我看到一个问题:请问我用set就可以实现了 为何还要get?
以下这个人的回答很生动:
“只有一个类。这蒙蔽了你的双眼。
在本类里当然可以直接写变量名来获取私有变量的值,但你如果在一个b类里,不用a类的getter,怎么获得人家a类的私有变量?”