JAVA之封装性

1.概念

  • 对一个类中的属性以及方法 实现“权限访问控制”
  • “权限访问控制” 其他的类 以及对象能不能在代码调用

2.为什么要封装

  • 提高了安全性

       例如通过控制访问权限可以将可以将不想让客户端程序员看到的信息隐藏起来,如某客户的   银行的密码需要保密,只能对该客户开发权限。

  • 提高了复用性

       将能实现某一特定功能的代码封装成一个独立的实体后,我们在可以在需要的时候调用,极大的提高了代码的复用性。

public class User{
public String name;
private String pwd;
protected int id;
private int age;

//用户类的构造方法 初始化成员属性

public User(String name,String pwd,int id,int age){
this.name = name;
this.pwd = pwd;
this.id = id;
this.age = age;
}
}

3.访问权限修饰符

  • public

整个项目中都可以调用

  • private

只能在当前类调用

  • protected

同包下调用/子类下调用

  • 缺省/不写

同包下调用

package com.tzh0402;

public class User {
    public String name;
    private String pwd;
    protected int id;
    private int age;
}


public class Manage {
    public static void main(String[] args){
        User user = new User();
        user.name="admin";
        user.pwd="admin123";  // pwd' 在 'com.tzh0402.User' 中具有 private 访问权限
        user.age=-10;   //age' 在 'com.tzh0402.User' 中具有 private 访问权限
        user.id=1;
    }
}

package com.tzh0403;
import com.tzh0402.User;
public class Test {
    public static void main(String[] args){
        User user = new User ();
        user.name="张三";
        user.pwd="123456";// pwd' 在 'com.tzh0402.User' 中具有 private 访问权限
        user.id=1;// id' 在 'com.tzh0402.User' 中具有 protected 访问权限
        user.age=18;//'age' 在 'com.tzh0402.User' 中不为 public。无法从外部软件包
        //访问

 }


}

4.setter/getter 配合 构造方法

简而言之,就是当用private去修饰一个变量的时候,我们可以用setter方法去设置该变量的值,用getter方法去调用该变量的值。

// pwd、age都是用private修饰的变量
    public String getPwd(){
        return pwd;
    }

    public void setPwd(String pwd){
// 将参数pwd 传给 私有的成员属性 this.pwd
// this 指代的是自己 也就是调用这个方法的对象自己
        this.pwd = pwd;
    }
    // 传入 参数赋值
    public void setAge(int age){
        if(age<=0){
            System.out.println ("年龄必须大于0");
            return;// 结束方法不赋值
        }
        this.age = age;
    }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值