get/set的快捷键:单击右键,点击Generate,在点击Getter and Setter.
开发中封装的简单规则:
-
属性一般使用private访问权限。
属性私有后, 提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的,以提供对属性的赋值与读取操作(注意:boolean变量的get方法是is开头!)。
-
方法:一些只用于本类的辅助性方法可以用private修饰,希望其他类调用的方法用public修饰。
【示例】JavaBean的封装演示
public class Person {
// 属性一般使用private修饰
private String name;
private int age;
private boolean flag;
// 为属性提供public修饰的set/get方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isFlag() {// 注意:boolean类型的属性get方法是is开头的
return flag;//属性一般使用private访问权限。
//属性私有后, 提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的,以提供对属性的赋值与读取操作(注意:boolean变量的get方法是is开头!)。
方法:一些只用于本类的辅助性方法可以用private修饰,希望其他类调用的方法用public修饰。
}
public void setFlag(boolean flag) {
this.flag = flag;
}
}
public class Person {
private int age;//private修饰的属性
private String name;
private String flag;
public int getAge() {
return age;
}
public void setAge(int age) {//此处用if语句判断输入年龄是否合法
if (age<0||age>130){
System.out.println("年龄不合法");
}else {
this.age = age;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public Person(int age, String name, String flag) {
this.age = age;
this.name = name;
this.flag = flag;
}
}
public class Test2 {
public static void main(String[] args) {
Person p2 = new Person(100,"小红","167");
System.out.println(p2.getAge());
System.out.println(p2.getName());
System.out.println(p2.getFlag());
}
}