我在开始学习Java时遇到过这种情况,但我正在自上而下学习,所以我想要一些方向:
这是在Java tutorial相对较早的时候:
作为最后的一般性说明,您应该知道Java中的子例程通常被称为方法。通常,术语“方法”表示包含在类或对象中的子例程。由于Java中的每个子例程都是如此,因此Java中的每个子例程都是一个方法(有一个非常技术的例外)。其他编程语言也是如此。然而,术语“方法”主要用于面向对象编程的上下文中,直到我们在第5章开始进行真正的面向对象编程,我更倾向于使用更通用的术语“子例程”。但是,我应该注意到有些人喜欢从一开始就使用“方法”一词。
我的问题是什么是“一个非常技术性的例外”。由于我正在学习多种堆栈技术,我想知道他所指的这个特定的例外。它来自本教程: http://math.hws.edu/javanotes/c2/
答案 0 :(得分:6)
从您链接到的教程的chapter 5引用:
构造函数是子例程,但它们是特殊的子例程 类型。它们当然不是实例方法,因为它们不属于 对象。因为他们负责创建对象,所以他们 在创建任何对象之前存在。它们更像是静态的 成员子例程,但它们不是也不能被声明为 静态的。实际上,根据Java语言规范,他们 在技术上根本不是班级的成员!特别是, 构造函数不称为“方法”。
答案 1 :(得分:2)
班级constructors不是方法。