java中如何用静态方法访问非静态变量
答案:6 悬赏:0
解决时间 2021-01-29 20:56
- 提问者网友:温旧梦泪无声
- 2021-01-29 00:07
java中如何用静态方法访问非静态变量
最佳答案
- 二级知识专家网友:愁杀梦里人
- 2021-01-29 00:52
class A{
int a;
static{
System.out.println(a);//这里编译错误
System.out.println( new A().a);//这里就可以了
}
}
int a;
static{
System.out.println(a);//这里编译错误
System.out.println( new A().a);//这里就可以了
}
}
全部回答
- 1楼网友:何以畏孤独
- 2021-01-29 04:48
楼上正解,你所说的实现不了....只能是非静态方法调用非静态变量,然后在静态方法里new一个对象调用此非静态方法。
- 2楼网友:你哪知我潦倒为你
- 2021-01-29 03:36
我想你应该是知道静态方法只可以调用静态变量和静态方法的对吧,既然这样,是不可能在这个方法中通过任何方法实现对非静态变量的访问吧。
- 3楼网友:长青诗
- 2021-01-29 02:26
静态方法访问非静态变量可以,用this.变量名。这是在同一个类中,
如果是不同类,那么是 类名.变量名 访问
如果是不同类,那么是 类名.变量名 访问
- 4楼网友:你可爱的野爹
- 2021-01-29 01:30
在静态方法里new 一个从属于非静态变量的类,在用new 的对象.非静态变量,那个非静态变量不能是private的哦
- 5楼网友:杯酒困英雄
- 2021-01-29 00:59
静态方法是不能访问非静态变量的
静态方法是类加载进来的时候就开始初始化了,但非静态的变量只能通过 new 来初始化
new 初始化对象,类先加载后通过 new 来初始化,所以你的问题不可能实现
静态方法是类加载进来的时候就开始初始化了,但非静态的变量只能通过 new 来初始化
new 初始化对象,类先加载后通过 new 来初始化,所以你的问题不可能实现
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯