• 技术文章 >Java >Java基础

    什么是封装java

    angryTomangryTom2019-11-11 09:47:28原创2695

    什么是封装java

    在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。

    封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

    要访问该类的代码和数据,必须通过严格的接口控制。

    封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

    适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。(推荐教程:java教程

    封装的优点

    1. 良好的封装能够减少耦合。

    2. 类内部的结构可以自由修改。

    3. 可以对成员变量进行更精确的控制。

    4. 隐藏信息,实现细节。

    java 封装,说白了就是将一些公共通用的实现逻辑,装到一个盒子里(class),出入口都在这个盒子上。你要用就将这个盒子拿来用,连接出入口,就能用了,不用就可以直接扔,对你的代码没什么影响。

    对程序员来说,使用封装的目的:

    1.偷懒,辛苦一次,后面都能少敲很多代码,增强了代码得复用性

    2.简化代码,看起来更容易懂

    3.隐藏核心实现逻辑代码,简化外部逻辑,并且不让其他人修改,jar 都这么干

    4.一对一,一个功能就只为这个功能服务;避免头发绳子一块用,导致最后一团糟

    示例:

    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类的变量怎样被访问:

    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 : 2

    以上就是什么是封装java的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 封装
    上一篇:什么是工厂模式java 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java中封装是什么• java什么是抽象与封装• java中封装怎么写• java的三大特性封装、继承、多态
    1/1

    PHP中文网