在创建一个类时,如果不想该类的属性被显示调用,就需要使用private前缀来修改该类的属性,使其只能被当前类显示调用。而这种情况下通常都会在该类里面定义一些其他的方法来操作该属性,用于进行相关的操作,比如构造方法,setter/getter方法等。
使用静态内部类可以在类基本封装性之后对一些特定的属性进行再封装
定义一个用户类:用户名、昵称、年龄、家庭住址、手机号;其中家庭住址和手机号加强封装
public class User{
private String username;
private String nickname;
private Integer age;
private ProtoInfo info;
public User(){
}
public void setUsername(String username){
this.username = username;
}
public void setNickname(String nickname){
this.nickname = nickname;
}
public void setAge(Integer age){
this.age = age;
}
public void setInfo(ProtoInfo info){
this.info = info;
}
public String toString(){
return "username:"+this.username+" nickname:"+this.nickname+" age:"+this.age+" address:"+this.info.address+" phone:"+this.info.phone;
}
public static class ProtoInfo{
private String address;
private String phone;
public ProtoInfo(){
}
public void setAddress(String address){
this.address = address;
}
public void setPhone(String phone){
this.phone = phone;
}
}
public static void main(String[] args){
User user = new User();
user.setUsername("14408100118");
user.setNickname("成兮");
user.setAge(20);
ProtoInfo info = new ProtoInfo();
info.setAddress("一个测试的地址");
info.setPhone("10010");
user.setInfo(info);
System.out.pritln(user.toString());
}
}