java 静态方法和非静态变量的问题

publicclassBeetleextendsInsect{privateintk=print("Beetle.kinitialized");publicBeetle(... public class Beetle extends Insect {
private int k = print("Beetle.k initialized");

public Beetle() {
System.out.println("k = " + k);
System.out.println("j = " + j);
}
private static void dd()
{
System.out.println("dd ");
}
private static int x2 =
print("static Beetle.x2 initialized");
public static void main(String[] args) {
System.out.println("Beetle constructor");
Beetle b = new Beetle();

}
}

class Insect {
private int i = 9;
protected int j;
private int p=print(" Insect.p initialized");
private static int x1 =print("static Insect.x1 initialized");
Insect() {
System.out.println("i = " + i + ", j = " + j);
j = 39;

}

static int print(String s) {
System.out.println(s);
return 47;
}

}

static Insect.x1 initialized
static Beetle.x2 initialized
Beetle constructor
Insect.p initialized
i = 9, j = 0
Beetle.k initialized
k = 47
j = 39
运行结果如下 其中不明白的是
K怎么等于47的, static int print(String s)这个是静态办法 private int k = print("Beetle.k initialized");这个是非静态属性,
展开
 我来答
xjf5562
2016-06-03 · TA获得超过1189个赞
知道小有建树答主
回答量:896
采纳率:75%
帮助的人:735万
展开全部
非静态的方法、变量可以操作(包含引用、修改其值,方法调用等)静态的方法、变量;反之,静态的方法、变量则不能操作非静态的方法、变量,静态的只能操作静态的(这么一说,好像静态的很吃亏哦)。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式