使用静态内部类来加强类的封装性

在创建一个类时,如果不想该类的属性被显示调用,就需要使用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());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值