黑马程序员技术交流社区
标题:
关于内部类访问属性的问题
[打印本页]
作者:
黑马_白马
时间:
2014-9-19 20:29
标题:
关于内部类访问属性的问题
本帖最后由 黑马_白马 于 2014-9-19 20:38 编辑
复制代码
package Test;
//解决:当内部类存在时,不同位置出现同名函数时,该如何正确调用。
public class InnerClassDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Outer().fun(30);
}
}
class Outer{
String info="1";
public void fun(final int temp){//当内部类出现在局部位置时,
String info="2";
class Inner{
String info="3";
public void print(){
String info="4";
System.out.println("自己方法的属性="+info);//4
System.out.println("内部类的属性="+this.info);//3
System.out.printf("外部类上方法的变量=");//2 就是这里?????
System.out.println("外部类的方法上参数="+temp);//30
System.out.println("外部类上方法的变量="+new Outer().info);//1
}
};
new Inner().print();
}
}
复制代码
请会的同学,不吝赐教,O(∩_∩)O谢谢
作者:
xplcc
时间:
2014-9-19 20:31
字太小 看不清 请直接帖代码
作者:
黑马_白马
时间:
2014-9-19 20:39
xplcc 发表于 2014-9-19 20:31
字太小 看不清 请直接帖代码
它的代码粘上去不能更改,唉!捣鼓了好一会儿
作者:
Beka
时间:
2014-9-20 14:18
顶一个!
作者:
Beka
时间:
2014-9-20 14:19
再顶
作者:
Beka
时间:
2014-9-20 14:22
我还顶
作者:
备战
时间:
2014-9-20 14:34
顶一个。
作者:
lipc
时间:
2014-9-20 16:46
new outer().new inner().info 应该是这样。。。
作者:
王文博
时间:
2014-9-21 00:13
在一个类中是不能调用另外一个类方法中定义的局部变量的,若想调用可以按一下几种方法来实现:
1、将局部变量定义为类中的成员变量,然后通过对象来调用
2、将局部变量用final关键字定义为常量,然后通过类名.常量名来调用
3、若方法的返回值是void,可以修改方法的返回值类型为局部变量的类型,然后在方法的最后一行加上return 局部变量;就可以通过调用此方法来获得该局部变量;
题中,你所指的这种情况,是不可以的。除非按以上三种方法适当修改代码完成。别无它法;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2