zoukankan      html  css  js  c++  java
  • 内部类-定义

    内部类类别:

      成员内部类:在一个类的成员位置定义另外一个类,那么另外一个类就被称为成员内部类。

      访问方式1:  在外部类提供一个方法创建内部类的对象进行访问。

          2:  在其他类创建内部类的对象进行访问。创建格式:外部类.内部类  变量名=new 外部类().new 内部类(); 

          注意:如果是静态内部类:外部类.内部类  变量名=new 外部类.new 内部类()

      成员内部类要注意的事项:

        1.成员内部类可以直接访问外部类的成员

        2.如果成员内部类与外部类存在同名的成员,在内部类默认访问的是内部类的成员,可以用“外外部类.this.成员 ”来访问指定的外部类成员

        3.如果成员内部类出现了静态成员,那么该成员内部类也必须使用static修饰。

        4.如果成员内部类是私有的,那么创建内部类的对象就只能在外部类提供方法创建。

      局部内部类: 在一个类的方法内部定义另外一个类,另外一个类就称为局部内部类。

        注意事项:如果局部内部类访问了局部变量,那么该变量需要使用final修饰(原因:因为生                           命周期不一致,所有内部类访问的是一个复制品)

            局部变量:不能定义为public,protected,private或者static类型

                 不能定义static变量;

      匿名内部类:没有类名的类。

           好处:简化书写

      匿名内部类的使用前提:必须存在继承或者实现关系。

          格式:new  父类(父接口){

            匿名内部类的成员;

    } 匿名内部类不能有构造方法。   
      ·匿名内部类不能定义任何静态成员、方法和类。   
      ·匿名内部类不能是public,protected,private,static。   
      ·只能创建匿名内部类的一个实例。 
          ·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。   
      ·因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效

  • 相关阅读:
    用友U8 | 【存货管理】提示用户***正在记账,不允许并发。
    用友U8 | 怎么准确查找【采购入库单】、【采购发票】,对应的凭证号?
    用友U8 | 中途启用序列号管理,该怎么操作?
    Excel:提取身份证号中的性别
    给jupyter 添加代码自动补全功能
    SQL函数之:截断字符串
    解决Maven子项目提示 ‘parent.relativePath‘ of POM
    公共NTP资源汇总
    iperf3的使用
    ZeroTier的使用
  • 原文地址:https://www.cnblogs.com/Nico-luo/p/6905456.html
Copyright © 2011-2022 走看看