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

转载 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烦的方法在上面三种情况下都是可以用的。

相关文章推荐

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

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

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

------- android培训、java培训、期待与您交流! ---------- class Test{ public void main(String[] args){ A test...

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

原文   http://blog.csdn.net/zhizguoz/article/details/22483535 class Test{ public void main(String...

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

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

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

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

非静态内部类

源代码: public class Java24 { String str="外部类中的数据!"; class JavaE{ String str="内部类中的数据!"...

面向对象的陷阱——非静态内部类的陷阱

3、非静态内部类的陷阱        内部类是Java提供的一个常用语法。内部类能提供更好的封装,而且它可以直接访问外部类的private成员,因此在一个特殊场合下更常用。 3、1 非静态内部类的构造...

非静态内部类Handler类引起内存泄露

最近在项目中使用延时Handler做Splish页面的跳转。 new Handler().postDelayed(new Runnable() { @Override pu...

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

只要非静态的匿名类对象没有被回收,MainActivity就不会被回收,MainActivity所关联的资源和视图都不会被回收,发生比较严重的内存泄漏。 要解决MainActivit...

为什么静态方法不能直接访问非静态成员?

static成员是在JVM的CLASSLOADER加载类的时候初始化的,而非static的成员是在创建对象,即new 操作的时候才初始化的;类加载的时候初始化static的成员,此时static 已经...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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