Java 中抽象和封装有什么区别?


根据字典,抽象是指处理思想而不是事件的品质。例如,当你考虑电子邮件的情况时,复杂细节(如邮件发送后发生的事情,电子邮件服务器使用的协议)对用户是隐藏的。因此,要发送电子邮件,你只需键入内容,提及收件人的地址,然后点击发送。

抽象的过程是将实现细节对用户进行隐藏,仅向用户提供功能。换句话说,用户将获得有关对象执行什么操作的信息,而不是它是如何执行的。

在 Java 中,抽象是使用抽象类和接口实现的。

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 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());
   }
}

输出

Name : James Age : 20

更新于:30-07-2019

815 查看次数

开启您的 职业生涯

完成课程,获得认证

开始
广告