java封装

封装:隐藏对象内部的复杂性,只留简单的接口供外界使用

属性私有化   ,留setter,getter方法进行属性的操作。

封装

有时称为数据隐藏
将数据和和对数据的操作隐藏在一个类中,即隐藏对象的属性和实现细节,仅对外公开接口。
使用者不需要知道类的具体实现,只要知道怎么调用就可以了。
比如:
所有类的成员变量一般设置为private,如果需要访问和修改,通过getter和setter方法

 1 /**封装*/
 2 
 3 public class Demo1{
 4     public static void main(String args[]){
 5         HumanWife hw=new HumanWife();
 6         System.out.println(hw.name);        //公共的、默认的直接获取
 7 
 8         HumanQingRen hqr=new HumanQingRen();//实例化
 9 
10         hqr.setName("小红");                //私有的(private),通过set为私有赋值
11         System.out.println(hqr.getName());  //得到私有的值
12 
13         hqr.setAge(18);  //通过set为私有属性赋值
14         System.out.println(hqr.getAge());//通过get获取私有属性值
15 
16     }
17 }
18 
19 class Human{
20     String name = "张三";
21     int age = 25;
22     char sex = '男';
23 
24 }
25 
26 class HumanWife{
27     String name = "花花";
28     int age = 18;
29     char sex = '女';
30 
31 }
32 
33 class HumanQingRen{
34     private String name /* = "小草"*/;  //直接赋值,不能在其他更改
35     private int age;
36     private char sex;
37 
38 //(public)供外界使用的接口
39     public void setName(String name){  //给外界提供 set。。。方法。
40         this.name=name;   //“this.name” 为本类的成员变量name。   =“name”为形参name。
41     }
42 
43     public void setAge(int age){
44         this.age=age;
45     }
46 
47 
48     public String getName(){
49         return name;
50     }
51 
52     public int getAge(){
53         return age;
54     }
55 
56 }
 1 //权限
 2 
 3 public class Demo02{
 4     public static void main(String []args){
 5         HumanQingRen hqr = new HumanQingRen();
 6         hqr.setName("小草");
 7         System.out.println(hqr);
 8         System.out.println(hqr.getName());
 9         boolean b = false;
10         System.out.println("b的值是"+b);
11     }
12 }
13 class Human{
14     String name = "张三";
15     int age = 25;
16     char sex ='男';
17 
18 }
19 class HumanWife{
20     String name = "花花";
21     int age = 18;
22     char sex = '女';
23 
24 }
25 class HumanQingRen{
26     private String name ;
27     private int age =10;
28     private char sex = '男';
29     public void setName(String name){
30         this.name = name;
31     }
32     public String getName(){
33         return name;
34     }
35     public String toString(){
36         return "姓名:"+name+"
年龄:"+age+"
性别:"+sex;
37     }
38 }
原文地址:https://www.cnblogs.com/liuyangv/p/7725612.html