zoukankan      html  css  js  c++  java
  • Java面向对象三大特性—封装

      面向对象编程语言模拟客观世界,客观世界里的成员变量都是隐藏在对象内部的,外界无法直接操作和修改。

    封装可以认为是一个保护屏障,防止该类的代码和数据被其他类随意访问和修改。要访问该类的数据,必须要通过指定的方式才可以。

    适当的封装,可以让我们的代码更容易维护和理解,也加强了代码的安全性。

    原则:

      将【属性隐藏】起来,如果想要访问类中的某个属性,提供【公共的方法】对其访问。

    封装:

      使用private关键字来修饰成员变量

      需要提供getXxx和setXxx方法进行成员变量的访问

      操作:

        private是一个权限修饰符,代表最小权限

        可以修饰成员变量,也可以修饰成员方法

        被private修饰后的成员变量和成员方法,只能在本类中访问

    private使用格式:

      private 数据类型 变量名;

    private String name;
    private int age;

    封装优化1--this

      在setXxx方法中形参和成员变量名如果相同,就会发生就近原则,把方法中的变量当做形参!导致赋值失败!这时可以用this关键字来解决!

    this:方法被哪个对象调用,方法中的this就代表哪个对象!

      

     private String name;
     public void setName(String name) {
            //name=name//此时识别的是形参自己给自己赋值
           this.name = name;//成员变量=形参中的name
       } 

      方法当中只有一个变量名,默认也是使用this修饰,可以省略不写

    封装优化2---构造方法

        当一个对象被创建出来的时候,构造方法用来初始化对象,给对象的成员变量赋初始值。

      (假如:一个类中有几十个成员变量,每一次new对象就要挨个给赋值很麻烦!如果用构造方法可以一次性把变量进行初始化赋值)

        无论你是否在类中定义构造方法,当类被定义出来的时候,系统会自动给该类分配一个构造方法---无参的构造方法,

      一旦在类中显式的定义构造方法,Java自动提供的默认无参构造方法就会失效(被收回)。

    修饰符  构造方法名(参数列表) {
         // 方法体内容
     }
    // 构造方法没有返回值,构造方法名和类名完全一致,不需要void。

    注意事项

    • 构造方法名称必须和所在的类名完全一样,就连大小写一样

    • 构造方法不用声明返回值类型,连void也不需要

    • 构造方法不能用return一个具体的返回值。

    • 如果定义类时没有显式定义构造方法,系统会提供一个默认的无参构造方法

    • 一旦自定义了一个构造方法,那么编译器将会收回默认提供的构造方法

    • 构造方法可以重载:方法名称相同,参数列表不同

    标准类:

      JavaBean(个人想法,java是咖啡,Bean翻译是豆。合起来 咖啡豆?)是Java语言编写类的一种标准规范

    • 所有的成员变量都要使用private关键字修饰

    • 要为每一个成员变量提供一对公共的getXxx和setXxx方法

    • 编写一个无参的构造方法

    • 最好再提供一个全参的构造方法。

     

     

     

     

     

     

     

  • 相关阅读:
    乱谈服务器编程
    set global slow_query_log引起的MySQL死锁
    一个由string使用不当产生的问题
    Hbase初体验
    浅谈SQLite——查询处理及优化
    ACID、Data Replication、CAP与BASE
    libevent源码分析
    浅析Linux Native AIO的实现
    vim7.2中文乱码解决方法
    伸展树的点点滴滴
  • 原文地址:https://www.cnblogs.com/9080dlb/p/13997332.html
Copyright © 2011-2022 走看看