zoukankan      html  css  js  c++  java
  • java面向对象上:类的高级概念

    8、类的高级概念:

           访问修饰符:三种访问修饰符4种情况
           public: 所有的类都可以访问
           protected: 同包和子类可以访问,非子类不能访问
           默认: 同包可以访问
           private: 只有本类能访问
           一般变量我们用private,常量用public。

           封装:
           1、组装:定义类,把属性行为放入类中;
           2、信息的隐藏:访问修饰符和方法的定义。
           封装、继承、多态是面向对象编程的三大基本概念,加上抽象就是4大概念。
           get访问器:得到值,没有接受值;
           set修改器:修改值,传参。
           get和set的好处:
           1、类的成员变量可以成为只读或者只写的。
           2、类可以对储存在其成员变量中的内容有一个整体的控制。
           3、类的用户不需要知道类是如何存储数据的。

           理解静态成员:全类共享一个值。
           关键字static允许成员变量或方法不与类的特定实例关联。
           静态属性是类属性。静态方法调用静态属性不能加this。
           工具类的工具方法设计成static:不操作属性,只提供功能实现。
           与对象无关的方法可以用static,如ATM机的cash和user属性。
           常量也用Static如:public static final PI=3.1415;
           访问静态成员变量和方法:
           用类名加点,不用创建实例。
           也可以访问main方法:Demo.main(null);
           静态方法不能访问实例成员:
           静态方法不能访问非静态成员变量,只能调用static。非static能访问static。
           因为static是先加载的,static要产生对象才会存在。

           静态初始化块:
           static在类加载时加载,在main方法前。
           static{语句}
           实例初始化块:{语句}

           
           内部类:

           编译后是独立的class文件。
           内部类分为成员内部类和局部内部类;
           成员内部类:
           class other{
                  class inner{
                  }
           }
           静态内部类:
           class other{
                  static class inner{
                  }
           }
           类名加点访问,无需实例化外部类
           匿名内部类:
           new object(){
                  public void metbod21(){
                  }
           }.metbod21();
          
           匿名内部类和静态内部类也是成员内部类。
           局部内部类:在方法里面。

     

  • 相关阅读:
    elasticsearch7.6.2实战(1)-单机快速部署
    greenplum数据库常用操作
    kafka集群搭建及结合springboot使用
    msyql主从库配置
    文本相似性算法实现(二)-分组及分句热度统计
    一点区块链资料
    使用.Net Core实现的一个图形验证码
    python中的collections.namedtuple
    Linux中的定时任务at、crontab
    es3中使用es6/7的字符串扩展
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3078434.html
Copyright © 2011-2022 走看看