首页 > 代码库 > java封装学习

java封装学习

封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。把过程和数据包围起来,对数据的访问只能通过已定义的接口。

在java中通过关键字private实现封装。

需要用特定的方法来进行属性的读写:getter setter

首先了解未封装的函数容易被其他类改变其属性值。

1 public class Test {
2      String name="张三";            //参量没有用private修饰
3     public void ss(){  //获取属性值
4         System.out.println(name);
5     }
6 }

 

1 public class Test2 {
2     public static void main(String[] args){
3         Test test=new Test();
4         test.name="李四";
5         test.ss();
6     }    
7 }

运行显示结果为:

李四

说明属性值已经被Test2改变

如果将Test类中的name属性加上private修饰

技术分享

编译环境报错,说明该属性不能被本类以外的类调用。

那封装之后的类通过什么方法来改便其属性值呢?

答案就是setter和getter

 1 public class Test {
 2    private  String name="张三";            //参量用private修饰
 3     public void ss(){  //获取属性值
 4         System.out.println(name);
 5     }
 6     public String getName(){
 7         return name;
 8     }
 9     public void setName(String newName){
10         name=newName;
11     }
12 }
1 public class Test2 {
2     public static void main(String[] args){
3         Test test=new Test();
4         test.setName("李四");
5         System.out.println("名字为:"+test.getName());
6         test.getName();
7     }    
8 }

显示结果为:

名字为:李四

 

java封装学习