静态方法中不能new内部类
来源:互联网 发布:JAVA中的maven是什么 编辑:程序博客网 时间:2024/04/19 19:29
public class ThreadSafeDemo {public static void main(String[] args) {// TODO Auto-generated method stub<strong><span style="color:#ff0000;">new ThreadSafeDemo()</span></strong>.init(); }public void init(){ <span style="color:#ff0000;"><strong>final </strong></span>Outputer op = new Outputer();new Thread(new Runnable(){@Overridepublic void run() {// TODO Auto-generated method stubwhile(true){op.output("yinhang");}}}).start();new Thread(new Runnable(){public void run(){while(true){op.output("zhuanzhang");}}}).start();}class Outputer{public void output(String name){int len = name.length();for(int i=0;i<len;i++){System.out.print(name.charAt(i)); }System.out.println();}}}
静态方法中不能new内部类!
solution:
1. new内部类时需要加final修饰(必须final!);
2. 写一个非静态方法!
3. new 外部类().非静态方法。
因为要想创建内部类的实例对象,必须要先有外部类的实例对象。
只有调用非静态方法时才会创建外部类对象,对吧!
局部内部类只能访问final局部变量!(考虑到局部内部类的生命周期)
不能不说这里设计的真是太太巧妙了!!
0 0
- 静态方法中不能new内部类
- 静态方法中使用内部类不能通过new
- 静态方法不能new内部类实例对象
- 《黑马程序员》 静态方法中不能new内部类的实例对象的总结
- 静态方法中不能new内部类的实例对象的总结
- 静态方法中不能new内部类的实例对象的总结
- java静态方法中不能创建内部类对象
- 静态方法中不能创建内部类的实例
- 非静态内部类中为什么不能存在静态变量
- java静态方法中调用内部类
- Java静态方法中调用内部类
- 《黑马程序员》 静态方法中不能直接创建内部类实例对象的原因
- 在main()方法中不能创建非静态内部类的实例
- 动态的内部类不能在静态方法中直接声明对象
- 内部类里面不能再使用静态方法的事宜
- Java内部类(3):非静态内部类为什么不能有静态成员变量和静态方法。
- java 非静态内部类为何不能包含静态域和静态方法
- 静态方法的内部类
- 循环语句的使用(8.3)
- linux下gcc编译过程
- hdoj 1085 Holding Bin-Laden Captive!【基础母函数】
- 我的C语言入门到精通之路 day05
- java IO总结
- 静态方法中不能new内部类
- LeetCode问题 pow(x,n)
- ZOJ 2112 Dynamic Rankings
- 用ZXing 生成条形码和二维码图片
- C# Chart控件使用心得
- MAVEN下实现spring boot打包成war包(spring boot 01)
- Java进阶(五十一)必须记住的Myeclipse快捷键
- 循环
- JSON解析