Java 的内部类一般情况下很少使用,声明为 static 的静态内部类的使用就更少了。
也仅仅只有内部类能够被声明为static类型,通常我们声明一个普通类的时候不能使用 static 的。
前面提到过,编译器会自动给内部类加上一个引用,指向产生它的那个外部类的对象:
http://ezerg.iteye.com/blog/1064476
如果不想要或者说不需要这个引用,那么我们就可以把这个内部类声明为 static ,但另外还有两个注意问题:
1、允许:将某个内部类修饰为静态类,才能够在这个类中定义静态的成员变量与成员方法,同时被外部类的静态方法使用。
2、限制:在静态内部类中,只能够引用外部类中的静态的变量,而不能够访问非静态的变量。原因很简单,外部类的引用不存在了。
public class OuterClass { // OuterClass 不能声明为 static
private static String outerTest = ""; // 去掉 static 后 innerTest 则不能取到 outerTest
public static InnerClass getInnerClass() {
return new InnerClass();
}
static class InnerClass { // 去掉 static 后 getInnerClass 方法报错,innerTest 变量也不能为静态
private static String innerTest = outerTest;
// 省略
}
}
分享到:
相关推荐
java 静态内部类的使用规范 java 静态内部类的使用规范
15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部...
java静态内部类(嵌套类)的实例 。嵌套类意味着: 1. 要创建嵌套类的对象,并不需要其外围类的对象。 2. 不能从嵌套类的对象中访问非静态的外围类对象。
java 利用反射获取内部类静态成员变量的值操作.docx
- 不同类型的内部类(静态内部类、成员内部类、局部内部类和匿名内部类)的区别和用法 - 内部类的优缺点以及使用场景 这些目标将帮助你理解和掌握内部类的概念,并能够在适当的时候使用内部类来解决问题...
主要介绍了Java中的静态内部类详解及代码示例,具有一定参考价值,需要的朋友可以了解下。
内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和default)。
NULL 博文链接:https://jayxigua.iteye.com/blog/686371
Java ---- 局部内部类 静态内部类 普通内部类
主要介绍了Java静态内部类实现单例过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.接口-简介 2.接口-作用 3.接口-定义方式 4.接口-实现 5.接口-与抽象类之区别 6.接口-应用示例(设计模式) 7.内部类-简介 8.内部类-作用 9....内部类-静态内部类 14.综述
java 内部类 实例内部类 局部内部类 匿名类 静态内部类 实例代码
浅谈Java内部类的四个应用场景,txt格式。 介绍了Java内部类,适合新手。
Java 内部类 实例化 在Outer类的静态方法中实例化内部类 在同一个包的其它类中实例化Outer类中的内部类
简单的入门(上传的资源如果因版权、使用、内容完整度 等原因被举报并通过官方审核,将扣除通过该资源获得的全部积分)
Java 的使用 分别介绍了 成员内部类、方法内部类、静态内部类
主要介绍了Java内部类应用之静态内部类应用,结合实例形式分析了Java静态内部类的原理、功能、用法及相关操作注意事项,需要的朋友可以参考下
上次有朋友问我,java中的类可以是static吗?我给他肯定的回答是可以的,在java中我们可以有静态实例变量、...当然类也可以是静态的,下面小编整理了些关于java中的static class相关资料分享在脚本之家平台供大家参考
Java语言中的内部类根据定义的位置和访问权限可以分为四类:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类是定义在类的内部且与类的实例相关联的类;局部内部类是定义在方法或作用域内的类;匿名内部...
主要介绍了Java单例模式实现静态内部类方法示例,涉及构造函数私有化等相关内容,需要的朋友可以了解下。