1.一个标准的类通常要拥有下面四个组成部分:
<1>所有的成员变量都要使用private关键字修饰(封装性的体现);
<2>为每一个成员变量编写一对Getter和Setter方法;
<3>编写一个无参数的构造方法;
<4>编写一个全参数的构造方法;
在第一个组成部分中我们很疑惑到底什么是封装性,其实封装性其实就是将一些细节信息隐藏起来,对外界不可见。
那么为什么要有封装性呢?我们来用一个例子来描述我们遇到的具体问题:
class Person{
public int age;
public String name;
public String sex;
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
'}';
}
}
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.age = -12;
person.name = "阿巴阿巴";
person.sex = "秘密";
System.out.println(person.toString());
}
}
我们不难发现,我们可以在Person类外直接访问成员变量,这是很不安全的,并且我们在定义person age时给出了“-12”这个不合理的数值,这不符合我们的使用情景,不会有一个人的年龄是负数,并且在设置性别的时候用户可以对其任意设置这点很不合理,使用private关键字则会很好的解决这些问题。下面我们对这份代码进行改造:
第一步我们对这个类的所有成员变量都用private修饰,第二步,我们为他们都设置一对getter和getter方法:
class Person{
private int age;
private String name;
private String sex;
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
", sex='" +