美文网首页
《Oracle Java SE编程指南》09-08:封装

《Oracle Java SE编程指南》09-08:封装

作者: AT阿宝哥 | 来源:发表于2020-05-14 09:37 被阅读0次
    课程封面-JavaSE-AT阿宝哥

    内容导航

    • 前言
    • 1、定义
    • 2、实现方式
    • 3、示例代码

    前言

    封装性是面向对象三大特征之一,我们学习了访问级别修饰符后,应该可以更好的理解封装的概念和含义。


    1、定义

    封装是一种信息隐藏技术,包含两个含义:

    • 对象的全部属性和方法被结合在一个类体内,形成一个不可分割的独立单位。

    • 尽可能隐藏对象的内部结构


    2、实现方式

    • 属性使用private权限
    • 方法使用public权限

    3、示例

    示例代码:

    package com.company.practice.demo;
    
    public class User {
    
        private String name;
    
        private int age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
    }
    

    完整示例:

    package com.company.practice.demo;
    
    public class User {
    
        private String name;
    
        private int age;
    
        public User() {
    
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + age;
            result = prime * result + ((name == null) ? 0 : name.hashCode());
            return result;
        }
    
        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            User other = (User) obj;
            if (age != other.age)
                return false;
            if (name == null) {
                if (other.name != null)
                    return false;
            } else if (!name.equals(other.name))
                return false;
            return true;
        }
    
        @Override
        public String toString() {
            return "User [name=" + name + ", age=" + age + "]";
        }
    
    }
    

    持续更新,欢迎留言提议!
    码字很累,多点赞多赞赏!


    扫描二维码,关注AT阿宝哥

    相关文章

      网友评论

          本文标题:《Oracle Java SE编程指南》09-08:封装

          本文链接:https://www.haomeiwen.com/subject/jspznhtx.html