为什么Java中的类“类”?

为什么Java的创建者在Java中使用名称“class”? 这个术语来自哪里?

Java并没有发明名称类 – 它曾用于语言之前,比如C ++。

我认为名称“类”是指一类对象,如分类(或类型)。 然后一个对象就是该类型的一个实例。

这是来自dictionary.com的“class”的第一个定义:

  1. 由于共同的属性,特征,品质或特征而被视为组成群体的一些人或事物; 类; 分类。

所以这正是我们所知道的计算机科学课程 – “特征/品质/特征”是领域和方法。

Blame Ole-Johan Dahl和Kristen Nygaard ,显然是为Simula创作的 ; 还有Tony Hoare ,他们给了他们灵感。

根据西姆拉的历史 :

随着这种追求在整个1966年的夏季和秋季继续进行,他们越来越关注Tony Hoare的记录类构造中的机会,首先在ALGOL公告中提出。 在仔细研究了Hoare的记录提案之后,他们最终得出的结论是,尽管它显然具有许多非常有用的特性,但它未能完全满足它们的要求。 他们真正想要的是某种具有记录类属性的通用过程概念。

他们的问题的答案突然出现在1966年12月,当时引入了前缀的想法。 后来称为对象的进程现在可以被视为由两个层组成:前缀层包含对其前任和后继的引用以及许多其他属性,以及包含所讨论对象的属性的主层。 除了这个重要的新function外,他们还引入了类概念,大致可以将其描述为SIMULA I活动概念的高度精炼版本。 这个强大的新概念使得建立连接对象的类和子类层次结构成为可能。

当然,对对象进行分类的想法远远早于任何编程语言。

我认为“阶级”这个词的起源早于计算机科学领域,事实上。 分类学已经存在了很长时间,我冒昧地说它的根源在哲学中的某个地方,或者在生物学中可能不那么抽象。 编程语言人员刚刚采用了另一个领域的类比:)。

该类是定义,元数据; 对象是实例。 这是正常的OOP语言使用。

因为它们被用来“分类”相同性质的物体。

Employee对象与Account对象不同。

所有这些概念都是面向对象技术的基础 。 Java恰好是面向对象的编程,这就是他们首先使用所有这些术语的原因。

请注意,Java中的Class类是由reflection类引入的,而不是纯粹的意外。

这里有Class和Method对象,允许你做类似的事情:

 Class cls = java.lang.String.class; // By obtaining a list of all declared methods. Method[] methods = cls.getDeclaredMethods(); // By obtaining a list of all public methods, both declared and inherited. methods = cls.getMethods(); for (int i=0; i 

http://www.exampledepot.com/egs/java.lang.reflect/Methods.html

换句话说,调用在编译时确定的代码。 非常方便调用可选function。