• 封装


    封装是面向对象的三大特征之一。

    隐藏对象的属性和实现细节,仅对外提供公共的访问方式。

    ①封装就是将面对对象的状态和行为看成是一个整体,将二者存放在一个独立的模块中,比如说类

    ②封装也是信息隐藏,把不需要让外界知道的信息隐藏起来,尽肯能隐藏对象功能实现细节,向外暴露方法,保证外界的安全访问,比如说方法

    封装的好处:

    ①封装提高了代码的安全性。

    ②隐藏了实现细节,对外提供可以访问的方式。便于调用者的使用。

    ③提高了代码的复用性。

     1 class Person {
     2     int age;
     3     String name;
     4 
     5     public void show() {
     6         System.out.println("age=" + age + ",name" + name);
     7     }
     8 }
     9 
    10 public class PersonDemo {
    11     public static void main(String[] args) {
    12         // 创建Person对象
    13         Person p = new Person();
    14         p.age = -20; // 给Person对象赋值
    15         p.name = "张三";
    16         p.show(); // 调用Person的show方法
    17     }
    18 }

    通过上述代码发现,虽然我们用Java代码把Person描述清楚了,但有个严重的问题,就是Person中的属性的行为可以任意访问和使用。而这样是很不安全的

    解决方式:使用修饰符 private(私有,权限修饰符)要将Person的属性和行为私有起来,这样就无法直接访问

    可无法直接访问后,错误的值无法赋值,可是正确的值也赋值不了

    解决方式:提供访问方式

    为成员变量提供赋值(设置 set)方法,取值(获取 get)方法

     1 public class Person {
     2     private String name;
     3     private int age;
     4     public String getName() {
     5         return name;
     6     }
     7     public void setName(String name) {
     8         this.name = name;
     9     }
    10     public int getAge() {
    11         return age;
    12     }
    13     public void setAge(int age) {
    14         this.age = age;
    15     }

    java中有四种访问权限修饰符,分别是private私有的,default不写,protected受保护的,public公共的

     

    public

    protected

    default

    private

    同一类中

    同一包中(子类与无关类)

    不同包的子类

    不同包中的无关类

     

  • 相关阅读:
    华南虎原图找到了
    电脑高手的7大标准
    科幻小说一代宗师阿瑟•克拉克过逝
    看英文片最容易误解的10个单词(感觉对大家很有用,转过来的)
    地震了,人跑的真快啊
    John Titor一个来自未来的人
    马云扮白雪公主
    世界上最冷的脑筋急转弯
    告别人肉刷,让房源自己送上门
    来测下你的浏览器对标准的支持情况吧
  • 原文地址:https://www.cnblogs.com/ty-v/p/8920276.html
Copyright © 2020-2023  润新知