无涯教程-Java - 封装

34 阅读1分钟

封装是OOP的四个基本概念之一。其他三个是继承、多态性和抽象。

Java中的封装是一种将数据(变量)和作用于数据(方法)的代码包装在一起作为一个单元的机制。在封装中,类的变量将对其他类隐藏,并且只能通过其当前类的方法访问,因此,它也称为数据隐藏。

下面是一个示例,演示了如何在JAVA中实现封装

/* File name : 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 setXXX()和getXXX()方法是EncapTest类的实例变量,通常,这些方法称为gettersetter。因此,任何想要访问变量的类都应该通过这些gettersetter来访问它们。

可以使用以下程序访问EncapTest类的变量

/* File name : RunEncap.java */
public class RunEncap {

public static void main(String args[]) { EncapTest encap=new EncapTest(); encap.setName("James"); encap.setAge(20); encap.setIdNum("12343ms");

  </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Name : "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> encap</span><span class="pun">.</span><span class="pln">getName</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">" Age : "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> encap</span><span class="pun">.</span><span class="pln">getAge</span><span class="pun">());</span><span class="pln">

} }

这将产生以下输出-

Name : James Age : 20

参考链接

www.learnfk.com/java/java-e…