黑马程序员技术交流社区

标题: 编译出错? [打印本页]

作者: 马蒙蒙    时间: 2011-7-29 16:25
标题: 编译出错?
如下代码:
public class Outer{
public String name = "Outer";
public static void main(String argv[]){
Inner i = new Inner();
i.showName();
}//End of main
private class Inner{
String name =new String("Inner");
void showName(){
System.out.println(name);
}
}//End of Inner class
}
当我编译运行时出错了?
作者: 匿名    时间: 2011-7-29 17:24
[code=java]class Outer {
        public String name = "Outer";

        public static void main(String argv[]) {
                Inner i = new Outer().new Inner();
                i.showName();
        }// End of main

        private class Inner {
                String name = new String("Inner");

                void showName() {
                        System.out.println(name);
                }
        }// End of Inner class
}[/code]要先创建一个外部类对象,然后再利用这个外部类的对象,创建出内部类对象。
关于内部类的具体信息,请在论坛中,搜索关键字“内部类”。
作者: 匿名    时间: 2011-7-29 17:32
虎哥正解,你也可以试试将private class Inner 定义成静态的。
作者: 匿名    时间: 2011-7-29 18:05
[img]file:///C:/Users/Administrator/Desktop/4.jpg[/img]
要使用内部类的方法,必须要有外部类支持。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2