zoukankan      html  css  js  c++  java
  • 静态内部类

    两种内部类

    Java的内部类有两种,一种是静态内部类,另一种是普通内部类,普通内部类可以获得外部对象的引用,

    所以在普通内部类能够访问外部对象的成员变量 ,也就能够使用外部类的资源,可以说普通内部类依赖

    于外部类,普通内部类与外部类是共生共死的,创建普通内部类的对象之前,必须先创建外部类的对象。

    创建普通内部类的代码如下:

    Outer o = new Outer();

    Outer.Inner inner = o.new Inner();

    Outer.Inner inner = new o.Inner();         /* 错误 */

    Outer.Inner inner = new Outer.Inner();  /* 错误 */

    静态内部类没有外部对象的引用,所以它无法获得外部对象的资源,当然好处是,静态内部类无需依赖于

    外部类,它可以独立于外部对象而存在。创建静态内部类的代码如下:

    Outer.Inner inner = new Outer.Inner();

    静态类的使用场景

    在以下场合可以使用静态内部类:

    (1) 外部类需要使用内部类,而内部类无需使用外部类的资源

    (2) 内部类可以独立外部类创建对象

    使用静态内部类的好处是加强了代码的封装性以及提高了代码的可读性。

    静态内部类和普通内部类的区别

    (1)普通内部类不能声明static的方法和变量

    普通内部类不能声明static的方法和变量,注意这里说的是变量,常量(也就是final static修饰的属性)

    还是可以的,而静态内部类形似外部类,没有任何限制。

    (2)使用静态内部类,多个外部类的对象可以共享同一个内部类的对象。

    使用普通内部类,每个外部类的对象都有自己的内部类对象,外部对象之间不能共享内部类的对象

  • 相关阅读:
    CentOS安装按进程实时统计流量情况工具NetHogs笔记
    修改centos地址连接为自动连接
    优秀博客主推荐链接
    idea制动补全返回值变量快捷键
    mongodb系列之--分片的原理与配置
    Mongodb系列之--mongodb的启动与关闭
    mongodb系列之---副本集配置与说明
    mongodb系列之--mongodb 主从配置与说明
    go 语言学习
    php模拟post与get请求
  • 原文地址:https://www.cnblogs.com/liubingna/p/3387839.html
Copyright © 2011-2022 走看看