1
134
每次我从繁重的C++代码转换到Java,我需要一段时间来适应
const-correctness
在Java中。这种用法
维基百科提供了关于这个主题的以下信息:
|
2
81
什么?
为什么或为什么不
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4211070
虽然双方都有很多好的论据,但一些经常被引用的(但不一定有说服力或明确的)反对理由
在有人想和我争论这些理由是好是坏之前,请注意
不是我的理由
. 它们仅仅是我从浏览rfe讨论中获得的一些原因的“要点”。我不一定同意他们自己-我只是想说明为什么有些人(不是我)可能会觉得
|
3
7
是否
由于Java从一开始就被设计为支持线程和锁并发,所以它没有通过重载术语来增加语义的混淆。
如:
输出42,然后是7。
虽然
对于更复杂的系统,不使用
|
4
5
这是一个有点老问题,但我想我会贡献我的2分钱无论如何,因为这个线程出现在今天的对话。 这不完全符合 为什么没有警察? 但是 怎样 使您的类不可变。(不幸的是,我还没有足够的声誉来发表评论,对接受的答案) 保证对象不可变的方法是更仔细地将类设计为不可变的。这需要比可变类更小心一点。 这要追溯到乔希·布洛赫的 通用程序设计 第15项-最小化易变性 . 如果你还没读过这本书,就拿起一本再读几遍,我保证这本书会让你想起 “Java游戏” . 在第15项中,bloch建议您应该限制类的可变性,以确保对象的状态。 直接引用这本书:
然后,bloch描述了如何通过以下5个简单规则使类不可变:
关于更多细节,我强烈建议你买一本书。 |
5
3
C++的语义
事实上
|
6
-1
在Java中有一种创建“const”变量的方法,但只适用于特定的类。只需定义一个具有最终属性的类并将其子类化。然后在您希望使用“const”的地方使用基类。同样,如果需要使用“const”方法,请将它们添加到基类中。编译器将不允许您修改它认为是基类的最终方法,但它将读取并调用子类的方法。 |
7
-2
定义常数有两种方法-
|
8
-2
我听到一个谣言,使用Java中的枚举对游戏性能是不利的。我不知道为什么。康斯特会表现得更好… 现实生活中使用爪哇的例子…就这样编码… 然后你的switch语句就可以毫无怨言地工作了。
.
|
Codename K · VB6-如何使窗体排在第二位? 6 年前 |
spice · 条件语句PHP 5.4出现意外“)”错误[重复] 6 年前 |
snuff · c语法的问题-const*const*定义 6 年前 |
DCR · 为什么要触发onclick事件 6 年前 |
ClementNerma · 如何在C中生成“实”常量?[副本] 6 年前 |