zoukankan      html  css  js  c++  java
  • JAVA 封装

    封装概念

      1.通常情况下可以在测试类给成员变量赋值一些合法但不合理的数值,无 论是编译阶段还是运行阶段都不会报错或者给出提示,此时与现实生活 不符。

      2.为了避免上述错误的发生,就需要对成员变量进行密封包装处理,来隐 藏成员变量的细节以及保证成员变量数值的合理性,该机制就叫做封装。

    封装的实现流程

    • 私有化成员变量,使用private关键字修饰。
    • 提供公有的get和set方法,并在方法体中进行合理值的判断。

    • 在构造方法中调用set方法进行合理值的判断。

     code

    /*
    编程实现Student类的封装 封装类
    */
    public class Student {

    // 1.私有化成员变量,使用private关键字修饰
    // private关键字修饰表示私有的含义,也就是该成员变量只能在当前类的内部使用
    private int id; // 用于描述学号的成员变量
    private String name; // 用于描述姓名的成员变量

    // 3.在公有的构造方法中调用set方法进行合理值的判断
    public Student() {}
    public Student(int id, String name) {
    //this.id = id;
    //this.name = name;
    setId(id);
    setName(name);
    }

    // 2.提供公有的get和set方法,并在方法体中进行合理值的判断
    // 使用public关键字修饰表示公有的含义,也就是该方法可以在任意位置使用
    public int getId() {
    return id;
    }
    public void setId(int id) {
    if(id > 0) {
    this.id = id;
    } else {
    System.out.println("学号不合理哦!!!");
    }
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }

    // 自定义成员方法实现特征的打印
    // 什么修饰符都没有叫做默认的访问权限,级别介于private和public之间
    public void show() {
    //System.out.println("我是" + name + ",我的学号是" + id);
    System.out.println("我是" + getName() + ",我的学号是" + getId());
    }
    }
  • 相关阅读:
    eclipse转ieda新手教程之-如何从svn导入一个 Maven 项目到 IntelliJ IDEA 2017
    从svn下载maven项目到ieda
    Maven的下载、安装与配置
    java.lang.NoClassDefFoundError: com/google/common
    guava.jar下载
    js,时间格式的验证
    为什么String类型的日期,传到前台变成数字了
    java&oracle日期查询
    java空指针异常
    java获取当前时间的第二天
  • 原文地址:https://www.cnblogs.com/goldenwangyi/p/15012392.html
Copyright © 2011-2022 走看看