【发布时间】:2014-06-26 13:03:28
【问题描述】:
来自本文:http://www-public.int-evry.fr/~gibson/Teaching/CSC7322/ReadingMaterial/Wegner87.pdf
它定义了type:
type:类型是一种行为规范,可用于生成具有该行为的实例。
但是我在这个文档中找到了:http://www.ccs.neu.edu/home/riccardo/courses/csu370-fa07/lect4.pdf
它说 Java 有:
- 原始类型:原始值对应的类型,包括int、short、long、 byte、char、float、double 和 boolean。
- null 类型:null 值的类型
但是“原始类型”是没有行为的值,null 也是值。
为什么它们是“类型”?它们是否引用相同的概念“类型”?
关于“行为”,在我目前的理解中,它是一个变量或实体提供给我们调用的东西(似乎我在谈论对象)。但是由于类型不仅适用于“对象”相关语言,所以我现在真的不确定“行为”是什么。
也许真正的问题应该是:“类型”定义中的“行为”是什么意思?
【问题讨论】:
-
那么,你认为有什么行为?
-
"Do they reference the same concept "type"?"如果没有完全阅读这些论文,我会拒绝。第一个是指 OOP 范式中类型的概念。第二个讨论更多的技术术语:Java 中变量的类型。 -
行为?我会说算术如何处理原语 is 行为,
null导致NullPointerExceptions是行为等。 -
@Rhymoid,更新了问题,增加了对“行为”的理解。
-
int i = 1 + 1和x现在是2。现在让我们试试boolean b = true || false。好的,b现在是true。但是如果我们这样做1 + true。答案是什么。显然,原语确实有行为,因为我们可以根据该行为做前两个示例,但第三个失败了,因为它不符合预期的行为。