关于Java变量作用范围问题~急!!
发布网友
发布时间:2022-04-20 06:40
我来回答
共5个回答
热心网友
时间:2022-07-12 06:23
无法输出,因为a在T1的main方法里面。main方法可以理解为一个测试方法,很特殊,它对一个类的结构、性质没有任何影响。也就是说,你可以调用任何一个类里面的可访问方法或属性,但是你不能调用它的main方法,因为main方法根本就不是它结构的一部分。
以此类推,至于main方法里面定义的变量就更不能由其他类来访问了。事实上,只能访问可见范围内的属性或方法,永远都无法访问方法里面定义的变量。
热心网友
时间:2022-07-12 06:23
不能输出,因为你的逻辑有问题!
你说的String a;既不是你的T1类的属性,也不是方法的返回值,仅仅是你的main()方法里面的一个变量,它和T1类没有直接联系;既然T1和String a都没有联系,就不管你在哪里,都不能通过T1的对象取到a了(就算在T1类里面也不行)。
热心网友
时间:2022-07-12 06:24
把变量声明为static即可
在T2中直接用T1.a就可以访问
public static String a;
a = "2222";
热心网友
时间:2022-07-12 06:24
你的a得是个成员变量!!
你可以在T1里面写个getA(){ return a;}
在T2里T1 t1= new T1();
system.out.println(t1.getA());
热心网友
时间:2022-07-12 06:25
public staic void main(String arf[]){
String a;
a="2222";
T1 t1=new T1();
T2 t2=new T2();
t1.setA(a);
System.out.println(at1.getA());
}