关于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());
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com