class OutClass{ //定义外部类,包含私有成员变量和函数
private int a = 2048;
private void funcOut(){
System.out.println("out function run print:" + a);
}
public class InnerClass{ //定义内部类
public void funcInner(){
System.out.println("inner function run");
System.out.println("a=" + a); //内部类访问外部内的成员变量和函数()
funcOut();
}
}
public static void main(String[] args){
OutClass o = new OutClass();
//o.a = 0; //问题1: 这俩句话报错,为什么?
//o.funcOut();// 这不是OurClass类的对象o调用成员吗?
OutClass.InnerClass in = o.new InnerClass();
in.funcInner();
麻烦大神帮忙分析一下这段代码?
有三个问题:
//问题1:创建OurClass类的对象o,o.成员为什么报错?
//问题2: 为什么main函数中不能直接调用内部类的函数?
//问题3: 本题需求:在外部类函数中创建内部类对象,调用内部类函数。 如何实现? 作者: 付江涛 时间: 2014-5-2 09:56
复习static,问题迎刃而解作者: lzhuas 时间: 2014-5-2 09:58
class OutClass{ //定义外部类,包含私有成员变量和函数
private int a = 2048;
private void funcOut(){
System.out.println("out function run print:" + a);
}
public class InnerClass{ //定义内部类
public void funcInner(){
System.out.println("inner function run");
System.out.println("a=" + a); //内部类访问外部内的成员变量和函数()
funcOut();
}
}
public static void main(String[] args){
OutClass o = new OutClass();
//o.a = 0; //问题1: 这俩句话报错,为什么?首先,你要看清楚,a在你的Outclass类中是私有的,这就是原因
//o.funcOut();// 这不是OurClass类的对象o调用成员吗?同上
OutClass.InnerClass in = o.new InnerClass();
in.funcInner();