wenzhoou 最近的时间轴更新
wenzhoou

wenzhoou

V2EX 第 215525 号会员,加入于 2017-02-16 19:23:21 +08:00
今日活跃度排名 15598
wenzhoou 最近回复了
TO OP ,可以可以,我们不扣字眼。你开心就行。
恰好我也是 20 多年 java 经验,jvm 也深入研究过,对于小白问题,我回答不回答,我又不损失什么。
我也不是为了别人点赞才回复的。
你是我的第一个 block ,以后你的问题我也不会回答了。谢谢。
如果你非要说构造函数的事情。那我把 10 楼的回答稍微改一下,你看有区别吗?

class 人
method 人的构造函数
做自我介绍

method 自我介绍
说:我叫 xxx

class 哑巴 extends 人
method 自我介绍
说:阿巴阿巴

人 张三 = new 哑巴()

所以我认为对于 Java 来说,关键不在于是不是构造函数调用的,关键在于 Java 编译的时候自动把他编译成了 invokeVirtual 。
你学 Java 的时候,有哪本书告诉你,Java 的方法分为被构造函数调用的,和没有被构造函数调用的这两种吗?

而对于 c++来说,你必须去在意他是不是构造函数调用的,那是 c++的问题。c++里面已经明确解释了为什么会出现这个问题。c++ FAQ lite 23.7 (也就是说我明明在构造函数里面调用了一个被声明为 virtual 的方法,为什么实际上却无法调用出来 virtual 方法,这不是很明显有问题吗?)
to op
还有看到你 85 楼的回复,我不太明白,想要求问一下,
1. 父类是静态类型,子类动态类型 这句话是什么意思。java 里面有静态类型和动态类型吗,恕我愚钝,我还真不懂这个区别。然后你是从哪里判断出来父类是静态类型,子类是动态类型呢?
2. 你说的 调用静态类型被重写的方法,可以调到子类里被重写的方法。这句话我就更不理解了,什么叫做 子类明明是重写了父类的方法。为什么说 可以调到子类 ***被*** 重写的方法?这个被 字是不是多余。
3. 不懂这个区别的人可以闭嘴。我可以闭嘴,但是你能不能给我个文献让我了解一下你所说的 我 10 楼回复是在说 什么什么 的这句话,到底是什么意思。不然的话,我就不知道你是 不懂我说的,还是懂了我说的,但是觉得对你没有帮助,亦或是,你把我说的理解成了另外一件事情,所以才认为和你问的问题没有关系。
另外指出 23 楼一个错误。Java 默认不是 public ,Java 默认是 package private 。
修改一下,我哪一句话否认了 8 楼说的的东西了吗?
我是 10 楼。针对你提问里头说的:这样难道不是一种反直觉的结果吗?的这句疑问回的帖子。

同时也是告诉给看帖子的人,也许有新人,告诉他们,这样不违反直觉。反过来来说,这样很顺应直觉。

如果你不喜欢我的回答,可以屏蔽。你开心就好。

我也写过 1 年多 c++,也知道 Java 里所以函数都是相当于 c++里面的虚函数,这些 8 楼说的已经很具体了。我是针对 8 楼最后一句话做了一个补充。不知道哪里不合您老的意思了?所以您要说我看不懂题目。我那一句哈否认了 8 楼说的的东西了吗?

就上面这个问题向 op 求教。
举个例子。
class 人
method 自我介绍
说:我叫 xxx

class 哑巴 extends 人
method 自我介绍
说:阿巴阿巴

人 张三 = new 哑巴()
张三.自我介绍()


这样结果是什么自然而然就知道了吧。
22 天前
回复了 renhou 创建的主题 程序员 被外包的能力给吓到了
有的公司还是有大牛的。只不过两个大牛要看 10 来个项目。另外就是面试的时候,大牛一定要在。实际做的时候嘛,又是另外一套人马了。
22 天前
回复了 seagull7558 创建的主题 程序员 没经验怎么做管理?
学而优则仕。恭喜你。
慢慢都会好的,学会控制好自己的情绪。乐趣是会有的。就算是没有乐趣没有钱,也是为你以后多个选择。
所以我们打游戏的时候说 5 点方向的敌人,那都是地图坐标系的。你首先得要有个坐标系。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1186 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 22:12 · PVG 06:12 · LAX 14:12 · JFK 17:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.