zoukankan      html  css  js  c++  java
  • java学习阶段一 内部类

    java学习阶段一 内部类

    介绍

    类中可以包含一个类,成为相对的内部类 外部类 实现信息隐藏

    基本知识

    • 成员内部类(普通内部类)

      获取内部类对象实例

      //第一种 外部类名.内部类名 对象名 = new 外部类名().new内部类名(); 
      //第二种 外部类名.内部类名 对象名 = 已存在外部类对象名.内部类名();
      //外部类设置一个获取内部类的方法 调用此方法
      

      内部类访问修饰符和一般类一样使用方法

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

      属性重名 使用 外部类名.this.属性 访问

      方法重名

      外部类访问内部类需要通过内部类实例

    • 静态内部类 (static修饰)

      和成员类区别:

      只能直接访问外部类的静态方法和成员,如果需要调用非静态方法,只能通过实例化外部类对象调用

      静态内部类实例不需要依赖外部类对象

      可以通过 外部类.内部类.静态成员 来访问静态内部类静态成员

      属性与外部类重名时需要访问外部类静态属性 通过 外部类.属性 非静态属性 则 new 外部类().属性

    • 方法内部类 (在方法中的内部类)

      此类作用域在方法中 不能定义静态成员

      和方法内部成员一样不能有访问修饰符

      可以包含final 和abstract

    • 匿名内部类 (隐藏名字)

      使用场景: 对类的实例化只有一次

      //在调用方法的传参中
      new 抽象类或者接口类名(){重写方法}
      

    注意事项

    匿名内部类无法添加修饰符 无法编写构造方法 可以添加构造代码块 不能出现静态成员

    只能有一个方法名 所以此类只能继承或者实现一个接口

  • 相关阅读:
    oozie的简易安装
    flume监控一个linux指定的一个文件夹的文件信息
    FastDFS图片服务器java后台的简单调用
    java对象与json互转
    final关键字详解
    文件压缩和解压缩工具类
    web上下文监听器ServletContextListener
    基本类型的相互转换
    用java代码在创建hbase表时指定region的范围
    String类的一些常用操作方法
  • 原文地址:https://www.cnblogs.com/tigo/p/14409659.html
Copyright © 2011-2022 走看看