你的位置:首页 > Java教程

[Java教程]JAVA——对象的行为


在Java程序中,所有的方法调用都维护在一个称为调用栈的结构中。当前正在执行的方法位于调用栈的顶部。当前方法执行完成后,就从调用栈的顶部移除,控制流程返回栈中的前一个方法。并且在程序中,第一个被调用的方法就是main(),该方法是JVM调用的。

         如果一个Java程序是多线程应用程序,那么它可以有多个调用栈。

         当一个方法正在执行时,会发生三种情况:①方法返回一个值。在这种情况下,一个基本数据类型或引用类型被传回给方法的调用者。②方法不返回一个值。在这种情况下,返回值被声明为void。③方法抛出一个异常给方法的调用者。

 

 

         方法的签名包括方法名、参数列表、返回值的数据类型等信息。例如,main()方法的签名如下:

Public static void main(String[] args)

方法的签名不包括方法体内的任何语句。签名只是方法的声明部分。

我们按照在声明方法时出现的顺序,列出方法签名每个部分如下:

■访问修饰符。访问修饰符的可能值包括public、private、protected或默认访问修饰符(即没有访问修饰符)。

■可选修饰符。方法签名的下一个部分是可选修饰符,包括static、final、abstract、native以及synchronize。

■返回值。方法签名必须包括返回值的类型。如果方法不返回一个值,就使用void。否则,就要指定返回值的数据类型。返回值的数据类型可以是八种数据类型之一或者一个引用类型。

■方法名。方法名必须出现在返回值之后。方法名可以是有效的Java标识符。

■形式参数列表。在方法名的后面必须是一对括号括起来的形式参数列表。

■抛出异常列表。方法可以抛出一个异常给方法的调用者。

 

         一个方法的签名包括一个形式参数的列表,形式参数列表用于声明传递到方法中的数据的类型。传递给形式参数的数据称为实际参数。

         当实际参数传递给形式参数时,实际参数的数据被复制给形式参数。在编程中,在方法调用之间复制数据的过程称为按值调用。

         不管传递给方法的实际参数是什么类型,相关的形式参数都会得到该数据的一份拷贝,这就是按值调用的工作原理。

 

         Java中允许方法被重载,当一个类有两到多个同名但是有不同参数列表的方法时,就是方法重载(参数类型不同或者参数个数不同)。

 

         构造器是类中的一个特殊的方法,该方法在对象实例化时被调用、构造器的用途是当对象实例化时初始化对象中的成员变量。

         构造器与方法不同之处在于构造器必须满足如下两个属性:①构造器的名称必须与类名相同。②构造器不能声明放返回值,也不能返回void。

         当为类添加多个构造器时,应用了方法重载的规则。每个构造器必须有一个唯一的形式参数列表,以与其它构造器想区别。

         如果一个类中没有添加构造器,编译器会给类添加一个默认的构造器。这个默认的构造器用public访问修饰符限定,没有形式参数,而且不做任何事情。

 

         如果一个构造器用this关键字来调用本类中的其它构造器,那么这个this语句必须是本构造器的第一行,否则,会产生一个编译器错误。