什么时候Java子例程不是方法?

时间:2012-02-29 20:50:40

标签: java methods subroutine

我在开始学习Java时遇到过这种情况,但我正在自上而下学习,所以我想要一些方向:

这是在Java tutorial相对较早的时候:

  

作为最后的一般性说明,您应该知道Java中的子例程通常被称为方法。通常,术语“方法”表示包含在类或对象中的子例程。由于Java中的每个子例程都是如此,因此Java中的每个子例程都是一个方法(有一个非常技术的例外)。其他编程语言也是如此。然而,术语“方法”主要用于面向对象编程的上下文中,直到我们在第5章开始进行真正的面向对象编程,我更倾向于使用更通用的术语“子例程”。但是,我应该注意到有些人喜欢从一开始就使用“方法”一词。

我的问题是什么是“一个非常技术性的例外”。由于我正在学习多种堆栈技术,我想知道他所指的这个特定的例外。它来自本教程: http://math.hws.edu/javanotes/c2/

2 个答案:

答案 0 :(得分:6)

从您链接到的教程的chapter 5引用:

  

构造函数是子例程,但它们是特殊的子例程   类型。它们当然不是实例方法,因为它们不属于   对象。因为他们负责创建对象,所以他们   在创建任何对象之前存在。它们更像是静态的   成员子例程,但它们不是也不能被声明为   静态的。实际上,根据Java语言规范,他们   在技​​术上根本不是班级的成员!特别是,   构造函数称为“方法”。

答案 1 :(得分:2)

班级constructors不是方法。