栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的封装

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的封装

作用:封装的主要作用是解决安全问题,带有私密性

概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

1.修改属性的可见性

这边我们要引入 private这个关键字

public class Person{
   private String name;  //定义姓名
   private String gender;//性别
   private int age;      //年龄
}

这里面我们将public修改为private后,其他类就无法访问了,如果访问则需要进行封装的第二步,也就是setter/getter()方法

2.setter/getter()方法

以上面的代码为例我们添加封装后就是

public class Person{
   private String name;  //定义姓名
   private String gender;//性别
   private int age;      //年龄


   public String getName(){
      return name;
   }
   public void setName(){
      this.name=name;
   }
   
   public String getGender(){
      return gender;
   }
   public void setGender(){
      this.gender=gender;
   }
   
   public int getAge(){
      return age;
   }
   public void setAge(){
      this.age=age;
   }
}

这里面的get和set方法可以手动添加,也可以使用组合键alt+ins然后选择get and set点进去把需要封装的对象全部选择即可。

3.设置属性的存取限制

既然我们上面的封装已经做好了,理论上我们在其他类是看不到的,那我们要想调用这里的属性或者方法时就得需要:

public class Person{
   private String name;  //定义姓名
   private String gender;//性别
   private int age;      //年龄


   public String getName(){
      return name;
   }
   public void setName(){
      this.name=name;
   }
   
   public String getGender(){
      return gender;
   }
   public void setGender(){
      this.gender=gender;
   }
   
   public int getAge(){
      return age;
   }
   public void setAge(){
      this.age=age;
   }
}

//以下我们重新建一个Test类
public class Test{
  public static void main(String[]args){
    Person p=new Person();
    p.setName("张三");
    p.setGender("男");
    p.setAge(30);
  System.out.println("姓名:"+p.getName+",性别:"+p.getGender+",年龄:"+p.getAge)
  }
}

//输出的结果就是

姓名:张三,性别:男,年龄:30

这里面我们还可以对set里面的方法设置一些判断条件,避免后面调用赋值的时候发生我们不想要的结果,比如:

 public String getGender(){
      return gender;
 }
 public void setGender(){
    if(!setGender.equals("男")&&!setGender.equals("女")){
     gender="男"; 
    }
     
      this.gender=gender;
   }

//这里我在性别里面就多了个条件判断,如果后面对gender赋值的不是男也不是女则默认为男

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459997.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号