首页 新闻 会员 周边 捐助

有大佬知道这个程序阅读题应该怎么看吗?新手求教啊!

0
悬赏园豆:5 [已解决问题] 解决于 2019-06-02 16:18

public class Test {
public static void main(String args[]) {
B bobj=new B(5);
System.out.println(bobj.i);
System.out.println(bobj.j);
}
}
class A{
int i=6;
public A() {
this(10);
}
public A(int j) {
i=j;
}
}
class B extends A{
int j;
public B(int j) {
this.j=j;
}
}

'君の名は'的主页 '君の名は' | 初学一级 | 园豆:196
提问于:2019-06-02 15:29
< >
分享
最佳答案
0

通过我对代码的理解输出应该是10/5当然具体需要运行一下。

收获园豆:5
余士杰 | 菜鸟二级 |园豆:207 | 2019-06-02 15:43

想问一下你是怎么理解的?

'君の名は' | 园豆:196 (初学一级) | 2019-06-02 15:44

@'君の名は':等我一下,我似乎理解错了,

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 15:44

应该是5和5因为B继承A,在方法B里没有进行重写根据传参规则,J等于5,继承A所以根据A的传参i等于5

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 15:47

我是C#的继承写法不一样,没看懂那个单词,所以第一次或许猜想主意。@'君の名は':

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 15:48

@余士杰: 结果我运行过了是10和5,但我不知道怎么去理解

'君の名は' | 园豆:196 (初学一级) | 2019-06-02 15:50

@'君の名は':不可能吧。等我一下,

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 15:51

@'君の名は':你用过断点一行一行运行过没?运行一下,看它走的路线你就懂了。类A进行了自我调用,B直接进行了传参。

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 15:54

@余士杰: 怎么用断点看它走的路线啊?不太会这种方法

'君の名は' | 园豆:196 (初学一级) | 2019-06-02 15:57

@'君の名は':在入口实例化B的地方大一个断点,一般右键有断点两个字,然后点击运行,或调试

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 15:58

@余士杰: 嗯,谢谢你,我再看看有没有好一些的理解方法

'君の名は' | 园豆:196 (初学一级) | 2019-06-02 16:04

@'君の名は':@'君の名は': 再直接一点儿,你看一下继承的意思,然后多谢几种继承,运行,只是看代码,不动手是很难理解的。另外你只个实例化只是进行了继承A,并没有通过A做什么事,所以A的标准输出就是10,但是调用了B,并且赋值给了B中的J所以,就是5

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 16:12

@'君の名は':而且也没有调用构造方法,非静态方法,静态方法,不同的方法体的调用是不同的。

余士杰 | 园豆:207 (菜鸟二级) | 2019-06-02 16:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册