第三节 静态内部类

第三节 静态内部类

顾名思义,就是用static修饰的内部类,但并不是说明内部类是静态的,而是说明内部类不依托于外部类实例

定义语法
class < 外部类名 > {
    // 外部类字段方法
    
    static class < 内部类名 > {
        // 内部类字段方法
    }
    
    // 外部类字段方法
}

静态内部类是外部类的一个静态属性成员,因此静态内部类只能访问外部类的静态属性和方法

创建静态内部类实例

< 外部类名 >.< 内部类名 > 引用变量 = new < 外部类名 >.< 内部类名 >;

public class CreateStaticInnerClass {
	public static void main(String[] args) {
		new Outter.Inner();  // 在外部类之外创建静态内部类实例
        new Outter().createStaticInnerInstance();  // 在外部类中创建静态内部类实例
	}
}

class Outter{
    // 定义静态内部类
	static class Inner{
		public Inner() {
			System.out.println("Inner 实例创建成功!");
		}
	}
    
    public void createStaticInnerInstance(){
        // 创建方式同非静态内部类的创建
		Inner i = new Inner();
    }
}

/*
 * 运行结果
 * Inner 实例创建成功!
 * Inner 实例创建成功!
 */

写在最后

静态内部类也被称作为静态嵌套类顶级嵌套类,与非静态内部类有所不同,非静态内部类与外部类是共享关系,是外部类对象的组成部分。

而静态内部类与外部类对象没有这样的关系,而是脱离的外部类对象且存在于另一类中的普通类,所以static修饰不是说类是静态的,而是说明其创建对象是不依托于外部类对象的,这点也可以从静态内部类的实例创建语法看出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值