在面向对象程序设计方法中,封装(Encapsulation)是指一种将抽象性函式接口的实现细节部分包装‘隐藏起来的方法。数据被保护在内部,隐藏内部实现细节,对外提供接口与外部交互。
使用封装的步骤
将类的所有属性使用关键字private去修饰,把它们变成私有的,不允许外部类直接访问
生成或者提供公共的setter/getter方法去操作这些被隐藏起来的属性
在类自己的 setter/getter方法中加入逻辑控制,以确保数据访问的有效性和安全性实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/* 文件名: EncapTest.java */ public class EncapTest{ private String name; private String idNum; private int age; public int getAge(){ return age; } public String getName(){ return name; } public String getIdNum(){ return idNum; } public void setAge( int newAge){ age = newAge; } public void setName(String newName){ name = newName; } public void setIdNum( String newId){ idNum = newId; } } |
以上实例中public方法是外部类访问该类成员变量的入口。
通常情况下,这些方法被称为getter和setter方法。
因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。
通过如下的例子说明EncapTest类的变量怎样被访问:
1
2
3
4
5
6
7
8
9
10
11
12
|
/* F文件名 : RunEncap.java */ public class RunEncap{ public static void main(String args[]){ EncapTest encap = new EncapTest(); encap.setName( "James" ); encap.setAge( 20 ); encap.setIdNum( "12343ms" ); System.out.print( "Name : " + encap.getName()+ " Age : " + encap.getAge()); } } |
以上代码编译运行结果如下:
1
|
Name : James Age : 20 |
使用封装的好处
1、良好的封装能够减少耦合
2、类内部的结构可以自由修改。
3、可以对成员进行更精确的控制。
4、隐藏信息,实现细节
总结
以上就是本文关于java语言中封装类代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/jdliyao/article/details/78945933