一亩三分地

 找回密码 注册账号

扫描二维码登录本站


北美版丁香园
美国和加拿大
疫情地图实时动态追踪

热门职场讲座
Career in Tech
职场晋升之路

Salarytics=Salary Analytics
查询工资数据
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 486|回复: 3
收起左侧

[学Java/C#] 为啥方法被覆盖了,但是变量没有被覆盖?

[复制链接] |试试Instant~ |刷题, 学java/c#
我的人缘0

分享帖子到朋友圈
atandt | 显示全部楼层 |阅读模式
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   87% (7)
 
 
12% (1)    👎

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
文件名是Test.java

[Java] 纯文本查看 复制代码
class A {
    int x;
    public A(){
          x=5;
          pk();
    }
    public void pk() {
        System.out.println("a");
    }   
}

class B extends A{
    int x;
    public void pk() {
        System.out.println("b");
    }
    public void ppk1() {
        System.out.println(this.x);
    }
    public void ppk2() {
        System.out.println(super.x);
    }
}

public class Test {
    public static void main(String args[]) {
        B mb = new B();
        mb.ppk1();
        mb.ppk2();
    }
}

////////////////////////////////////////////////////
构造函数public A()中的pk()被类B中的pk()覆盖了,但是
构造函数public A()中的x没有被类B中的x覆盖,这是为什么?

如果按照就近原则来解释,那么public A()中的x和pk()都得是类A自己的x和pk(),
如果按照覆盖原则来解释,那么public A()中的x和pk()都得被类B的x和pk()分别覆盖。

输出的结果为啥不是 b 5 0 ,或者
输出的结果为啥不是 a 0 5 ?

输出的结果偏偏是 b 0 5





上一篇:问道sql简单的一道题578
下一篇:请教一下LC797的时间复杂度
我的人缘0
杨幂的老公 2020-2-11 04:04:22 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   42% (38)
 
 
57% (52)    👎
回复

使用道具 举报

我的人缘0
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   95% (7172)
 
 
4% (309)    👎
Good question.

Check this out:

https://dzone.com/articles/why-instance-variable-of-super-class-is-not-overri
回复

使用道具 举报

我的人缘0
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (268)
 
 
3% (9)    👎
杨幂的老公 发表于 2020/02/11 04:04:22
https://www.programcreek.com/2013/04/what-are-the-frequently...
谢谢杨幂的老公
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://pay.1point3acres.com/tools/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|||一亩三分地

GMT+8, 2020-4-2 02:41

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表