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

chr*_*ina 3 java methods subroutine

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

这是在Java教程上相对较早的:

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

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

Ada*_*man 6

引用您链接到的教程的第5章:

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