黑马程序员技术交流社区
标题:
关于内部类的问题
[打印本页]
作者:
紫夜灵魂
时间:
2015-7-7 18:05
标题:
关于内部类的问题
本帖最后由 紫夜灵魂 于 2015-7-7 19:40 编辑
局部内部类,能不能再其他外部类里调用?除了调用这个类的外部类的方法外,怎么调用?能直接new出来么
package com.itheima;
public class Outer{
public void fun(){
System.out.println("外部类");
class Inner2{
public void fun(){
System.out.println("局部内部类");
}
}
new Inner2().fun();
}
static class Inner{
public static String a = "dsd";
public void fun(){
System.out.println("内部类");
}
}
public static void main(String[] args) {
//new Outer().new Inner().fun();
//new Outer.Inner().fun();
//System.out.println(Outer.Inner.a);
new Outer().fun();
}
}
class A{
}
复制代码
刚才说的不清数。再说一下,代码中的Inner2类能不能在main方法或者A类中直接调用?new Outer().new Inner2().fun();貌似不行吧!那么怎么调用它?
还有,Inner2()类不能调用Outer类的fun()方法中的局部变量,除非加final.请问为什么,最好用jvm内存分配讲一下!
作者:
Love丶cd
时间:
2015-7-7 18:25
在实例化的时候要在该内部类的前边加上外部类。这样的格式。 Outer.Inner in=new Outer().Inner();没太明白你说的是毛意思,但毕竟内部类也是作为外部类的内部成员,想调用也得给外部类个面子不是吗?要是想用其他的类调用这个方法的话,还不如直接拿出来单独最为一个方法不是吗?
作者:
何鹏程
时间:
2015-7-7 22:31
Outer.Inner in=new Outer().Inner();这个能在主函数里调用内部类吧。
作者:
3307747472
时间:
2015-7-8 00:08
有些高深,,,,,,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2