java笔记
  • Java语言概述
  • 入门
    • ubuntu安装
    • window配置环境变量
    • 编写HelloWorld
    • 注释
    • 编程风格
    • 进制与字符编码
    • 键盘录入
  • java基础
    • 数据类型
    • 运算符与类型转换
    • 控制语句
      • 选择结构(if-else/swtich)
      • 循环结构(while/do-while/for)
    • 数组
      • 数组基础
      • 数组进阶
    • 面向对象
      • 基础
        • 面向过程和面向对象
        • 类与对象
        • 构造方法
        • 垃圾回收机制garbage collection
        • 关键字
      • 进阶
        • 封装
        • 继承
        • 多态
        • 抽象
        • 内部类
      • 高级特性
        • String类
        • 枚举
        • 注解
    • 异常
    • 常用类
      • 包装类
      • String相关类
      • 时间类
      • 数学类
      • File类
      • 枚举类
    • 单个字符操作(Character 类)
    • Java字符串
      • String
      • StringBuilder
      • StringBuffer
    • Java集合
    • Java 泛型
    • Java解惑
  • 附录:git
  • 附录:转义字符
  • maven
    • pom.xml
    • maven安装
  • 其他
    • BeanUtils
  • java与php语法对比
  • idea
  • 开发记录
  • ExecutorService 异步线程池
Powered by GitBook
On this page

Was this helpful?

  1. java基础
  2. 面向对象
  3. 进阶

封装

介绍

概述:Encapsulation根据不同的功能,进行不同的(功能类似)封装 需要时调用,无需编写。

属性私有,隐藏对象属性和内部实现细节,对外提供访问方式。

函数就是最小的封装。

开发原则:高内聚,低耦合。

好处:提高代码安全性与复用性。

权限控制符

在一个项目下

修饰符

本类

本包

本包/其它包子类

所有包

private

√

default

√

√

protected

√

√

√

public

√

√

√

√

注意:类只能使用public与default,内部类(后面会讲)4个修饰符随便用。

封装使用细节

示例

package com.itcode.demo;  


/**      
 * @author: 成都码到功成学员  
 * @Description:  
 * overwrite方法重写 
 */  


class TestEnc {  

    // 私有化属性  
    private int age;  
    private String name;  
    private boolean human;  

    // 对外提供访问方式。  
    /** 
     * @return the age 
     */  
    public int getAge() {  
        return age;  
    }  
    /** 
     * @param age the age to set 
     */  
    public void setAge(int age) {  
        // 在里面做一些逻辑,外界无法查看  
        if( age>18) {  
            System.out.println("成年了");  
            this.age = age;  
        }else {  
            System.out.println("还小");  
        }  
    }  
    /** 
     * @return the name 
     */  
    public String getName() {  
        return name;  
    }  
    /** 
     * @param name the name to set 
     */  
    public void setName(String name) {  
        this.name = name;  
    }  
    /** 
     * @return the human 
     * 记住 布尔类型的get方法是这样的。isXXX(); 
     */  
    public boolean isHuman() {  
        return human;  
    }  
    /** 
     * @param human the human to set 
     */  
    public void setHuman(boolean human) {  
        this.human = human;  
    }  


}  

public class TestEncapsulation {  

    public static void main(String[] args) {  
        TestEnc enc = new TestEnc();  
        enc.setAge(23);  
    }   
}
Previous进阶Next继承

Last updated 5 years ago

Was this helpful?