同一个类中方法内局部变量调用
public class Test{
String str1 = "aaa";
public void a() {
String str2 = "bbb";
}
public static void eat() {
//静态方法无法访问非静态成员 除非实例化对象 通过对象.非静态成员的方法
Test test = new Test();
System.out.println(test.str1);
String b=test.a().Str2;
}
}
如上,代码 String b=test.a().Str2为什么会报错
11
收起
正在回答
2回答
同学你好,
因为在类二中实例化了类一,就可以通过类一的对象名去调用类一中访问权限内的变量
而上面的代码中Test是类,str1是类中的变量,他的作用范围是整个类都可以使用;所以可以通过对象名.变量去调用;而a()和eat()是方法,他们的变量范围只能在当前方法中使用,出了这个方法,这个变量就不能用了
注:访问权限在后面的课程中会有具体的讲解
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星