关于在静态方法中访问非静态内部类的问题

转载 2006年06月23日 17:29:00
public class Outer{
public String name = "Outer";
public static void main(String argv[]){
//Inner myinner = new Inner(); //直接用这句话创建会编译错误
Outer myouter=new Outer(); //先创建外部类的对象
Outer.Inner myinner=myouter.new Inner();
myinner.showName();
}//End of main
//下面这段代码用来测试这种n烦的办法
public void amethod(){
Outer myouter=new Outer();
Outer.Inner myinner=myouter.new Inner();
myinner.showName();
}
//非静态方法访问非静态内部类
private class Inner{
String name =new String("Inner");
void showName(){
System.out.println(name);
}
}//End of Inner class
}
在非静态方法访问非静态内部类直接创建该内部类的对象:new Inner().showName();当然也可以采取这种n烦的办法假设private class Inner改成static private class Inner, 那么在静态方法中访问静态内部类也是直接创建该内部类的对象,即Inner myinner = new Inner(),或者Outer.Inner myinner = new Outer.Inner()也行得通,可见这种n烦的方法在上面三种情况下都是可以用的。

Handler或Runnable作为非静态内部类,引发的内存泄露问题

一、Handler 和 Runnable 都有定时器的功能,当它们作为非静态内部类的时候,同样会持有外部类的引用,如果它们的内部有延迟操作,在延迟操作还没有发生的时候,销毁了外部类,那么外部类对象无法...

java的静态成员和静态方法,非静态内部类和静态内部类的区别

这里的静态,指以static关键字修饰的,包括类,方法,块,字段。非静态,指没有用static 修饰的。静态有一些特点:1.全局唯一,任何一次的修改都是全局性的影响2.只加载一次,优先于非静态3.使用...

《黑马程序员》 静态方法中不能new内部类的实例对象的总结

------- android培训、java培训、期待与您交流! ---------- class Test{ public void main(String[] args){ A test...
  • xfgzss
  • xfgzss
  • 2014年03月29日 11:56
  • 862

静态方法中不能new内部类的实例对象的总结

原文   http://blog.csdn.net/zhizguoz/article/details/22483535 class Test{ public void main(String...
  • a010655
  • a010655
  • 2015年05月21日 20:09
  • 1060

利用反射机制获得非静态内部类之getConstructor的用法探索

来源: http://blog.163.com/qhasilver@126/blog/static/161553399201291311119821/ 提问关于反射机制拿到内部类的构造方法的问题。总...

避免使用非静态内部类,这会导致Context泄露

【转载:http://www.cnblogs.com/kissazi2/p/4121852.html】 思考下面代码 1 public class SampleActivi...

非静态内部类可能导致的内存泄漏及其优化

转自http://blog.csdn.net/lfdfhl/article/details/45696165 [java] view plain copy   p...

Android 非静态内部类导致内存泄漏原因深入剖析

Android  非静态内部类导致内存泄漏原因深入剖析背景上周发现蘑菇街IM-Android代码里面,一些地方代码编写不当,存在内存泄漏的问题,在和疯紫交流的过程中,发现加深了一些理解,所以决定写一下...

菜鸟学java----非静态内部类

package com.xzy.demo;public class Test1 { private int age; private String Egg = "鸡蛋"; pu...

非静态的内部类会持有外部类的一个隐式引用

转载地址: http://blog.csdn.net/zhongwcool/article/details/22886067 Activity是如何泄漏的 只要非静态的匿名类...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于在静态方法中访问非静态内部类的问题
举报原因:
原因补充:

(最多只允许输入30个字)