Java之静态方法中的内部类
来源:互联网 发布:php项目描述怎么写 编辑:程序博客网 时间:2024/04/26 05:35
静态方法中不能直接创建内部类,为什么呢?在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法。
在静态方法中,当尝试直接去 new一个内部类(没有先 new 该内部类的外部类)的时候,由于静态方法无需创建对象,静态方法会尝试直接创建一个内部类(不会去创建该内部类的外部类),但矛盾的是内部类能访问各成员变量意味着一定存在外部类实体对象(内部类存在的本身的前提是有该内部类的外部类)。
所以在这个地方出现了矛盾,即静态方法中不能直接创建内部类。有以下几种解决办法:1. new内部类时需要加final修饰(必须final!);
2. 写一个非静态方法!3. new 外部类().非静态方法。
0 0
- Java之静态方法中的内部类
- Java中的内部类:成员内部类、静态内部类、方法内部类
- Java中的内隐类之静态内部类
- JAVA中的四个内部类-成员内部类,静态内部类,方法内部类,匿名内部类
- JAVA中的内部类--静态内部类
- Java内部类之静态内部类
- java中的静态内部类
- Java 中的静态内部类
- Java 中的静态内部类
- java中的静态内部类
- Java 中的静态内部类
- Java 中的静态内部类
- Java 中的静态内部类
- Java 中的静态内部类
- Java 中的静态内部类
- Java 中的静态内部类
- java内部类之成员内部类、静态内部类
- Java之静态内部类
- JAVA拾遗 - 希尔排序
- linux对于服务器的一些常用操作方法
- 警告: 最后一个参数使用了不准确的变量类型的 varargs ...
- 《Effect C++》学习------条款12:复制对象时勿忘其每一个成分
- SwipeRefreshLayout快速刷新引起的bug
- Java之静态方法中的内部类
- android 基础 网络交互,思路
- css3单位之间的换算
- Linux防火墙操作
- java--json嵌套数组解析(1)
- openwrt pppd源码bug修复(系统时间变化对pppd的影响)
- 第4周 项目1-- 建立单链表
- 经常遇到的哈弗曼编码学习---阿冬专栏!!
- 《Effect C++》学习------条款13:以对象管理资源