java封装的概念和实现方法示例

本文实例讲述了java封装的概念和实现方法。分享给大家供大家参考,具体如下:

封装:是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

封装的好处:

  • 只能通过规定方法访问数据
  • 隐藏类的实现细节
  • 方便加入控制语句
  • 方便修改实现

经过封装的属性,不能直接访问,要通过公共属性get/set方法访问。

代码:

package com.jredu.oop.ch01;
/**
 * 某公司要开发内部的 “办公管理信息系统”,请使用面向对象的思想设计部门和员工信息
 * @author Administrator
 *
 */
public class Department {
    public int depsno;//部门编号
    public String depname;//部门名称
    //封装
    public int getDepsno() {
        return depsno;
    }
    public void setDepsno(int depsno) {
        this.depsno = depsno;
    }
    public String getDepname() {
        return depname;
    }
    public void setDepname(String depname) {
        this.depname = depname;
    }
}
package com.jredu.oop.ch01;
public class Employees {
    public String empname;
    public char empsex;
    public int empage;
    public String empdepname;//所在部门
    public String empduty;//职务
    public String getEmpname() {
        return empname;
    }
    public void setEmpname(String empname) {
        this.empname = empname;
    }
    public char getEmpsex() {
        return empsex;
    }
    public void setEmpsex(char empsex) {
        this.empsex = empsex;
    }
    public int getEmpage() {
        return empage;
    }
    public void setEmpage(int empage) {
        this.empage = empage;
    }
    public String getEmpdepname() {
        return empdepname;
    }
    public void setEmpdepname(String empdepname) {
        this.empdepname = empdepname;
    }
    public String getEmpduty() {
        return empduty;
    }
    public void setEmpduty(String empduty) {
        this.empduty = empduty;
    }
    public static void main(String[] args) {
        Department dep = new Department();
        Employees emp = new Employees();
        //通过set属性传递数据
        dep.setDepname("销售部");
        emp.setEmpname("张敏");
        emp.setEmpage(26);
        emp.setEmpduty("销售经理");
        //通过get属性得到数据
        System.out.println("我是"+emp.getEmpname()+",今年"+emp.getEmpage()+"岁");
        System.out.println("我的职位是"+dep.getDepname()+"的"+emp.getEmpduty());
    }
}

运行结果:

我是张敏,今年26岁
我的职位是销售部的销售经理

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • java中封装的实现方法详解

    1.封装是什么?以及为什么要进行封装? 通常情况下可以给成员变量赋值一些合法但不合理的数值,这种情况在编译阶段和运行阶段都不会报错或给出任何的提示信息,此数值虽然合法但与现实生活不符:为了避免上述问题的发生,就需要对成员变量进行密封包装处理来保证该成员变量的合法合理性,这种机制就叫做封装.封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通过严格的接口控制. 2.如何进行封装? (1)私有化成员变量,使用private关键字修饰: (2)提

  • Java基本数据类型与封装类型详解(int和Integer区别)

    int是java提供的8种原始数据类型之一. Java为每个原始类型提供了封装类,Integer是java为int提供的封装类(即Integer是一个java对象,而int只是一个基本数据类型).int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer.在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字

  • Java实现Http工具类的封装操作示例

    本文实例讲述了Java实现Http工具类的封装操作.分享给大家供大家参考,具体如下: http工具类的实现:(通过apache包)第一个类 import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.ClientProtocolE

  • Java三大特性-封装知识小结

    最近有个朋友说想要说最近在学java,他对面向对象的编程语言的时候还是有些不明白,为了帮他能更快地"转型",我就写了这篇文章.因为从上层建筑层面而言.所有的面向对象编程语言的思路都是差不多的,而这三大特性,则是思路中的支柱点,接下来我就重点讲解了一下java三大特性. 面向对象的编程语言,拥有三大特性,分别是:"封装","继承","多态". 封装 在面向对象编程中,封装封装(encapsulation)从字面上来理解就是包装的

  • Java基础教程之封装与接口

    总结之前的内容,对象(object)指代某一事物,类(class)指代象的类型.对象可以有状态和动作,即数据成员和方法. 到现在为止,数据成员和方法都是同时开放给内部和外部的.在对象内部,我们利用this来调用对象的数据成员和方法.在对象外部,比如当我们在另一个类中调用对象的时,可以使用 对象.数据成员 和 对象.方法() 来调用对象的数据成员和方法. 我们将要封装(encapsulation)对象的成员(成员包括数据成员和方法),从而只允许从外部调用部分的成员.利用封装,我们可以提高对象的易用

  • 详解JAVA的封装

    第一节 什么是JAVA中的封装 面向对象的三大特性:封装.继承.多态. 1.概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法,来实现对隐藏信息的操作和访问. 2.好处: a只能通过规定的方法访问数据 b隐藏类的实例细节,方便修改和实现 3.封装的实现步骤 修改属性的可见性,改为设为private:创建getter/setter方法,用于属性的读写,创建一个特定的方法,一般是gettersetter方法,可以在gettersetter方法中加入属性控制语句,对属性

  • 详解Java中的封装、继承、多态

    封装 在如何理解面向对象这篇文章中,提到所谓的封装就是"功能都给你做好了,你不必去理解它是怎么写出来的,直接使用即可.".但你得清楚一点,那就是这句话是相对于使用者来说的,而作为开发者,封装就得我们自己来干. 那么作为开发者,我们应该如何去封装呢?其实你应该反过来问,他们应该如何去使用,这样一想会简单很多,作为使用者,自然是希望越简单越好,也就是说,一些复杂的东西,我们不应该让使用者去操作,那也就是说我们应该把复杂的,以及不必要的参数给它封死,不让使用者去操作. 为什么不让使用者去操作

  • java 中的封装介绍及使用方法

    java 中的封装介绍及使用方法 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问. 要访问该类的代码和数据,必须通过严格的接口控制. 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段. 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性. 封装的优点 1. 良好的封装能够减少耦合. 2. 类内部

  • Java封装、继承、多态三大特征的理解

    首先先简单的说一下其3大特性的定义: 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别.将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成"类",其中数据和函数都是类的成员.封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员.封装的基本要求是: 把所有的属性私有化,对每个属性提供getter和setter方法,如果有一个带参的

  • 浅谈java封装

    一.什么是封装? 封装就是将属性私有化,提供公有的方法访问私有属性. 做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问. 如:private String name; 复制代码 代码如下: public String getName(){                     return;            }     public void setName(String name){       

  • Java 八种基本类型和基本类型封装类

    1.首先,八种基本数据类型分别是:int.short.float.double.long.boolean.byte.char:    它们的封装类分别是:Integer.Short.Float.Double.Long.Boolean.Byte.Character. 2.Java中的数值都是有符号的,不存在无符号的数,它们的取值范围也是固定的,不会随着硬件环境或者操作系统的改变而改变. 3.原始数据类型在传递参数时都是按值传递,封装类都是按引用传递. 4.Java语言中,默认声明的小数是doubl

随机推荐