Jav最新实用教程 方法的参数表项应该写为“ int numl, int num2” 方法的修饰符也包括访问控制修饰符和非访问控制修饰符,基 本规则请参照上一章3.,23节中对修饰符的分析 方法体:方法声明之后的一对大括号“{”、“}”以及它们之 间的内容称作方法的方法体。方法体的内容包括方法的局部变 量和合法的java语句。 如下面程序中常用的main方法: class test public static void main(String args System. out. printIn(args0);∥输出用户输入的第一个元素 注意:mai方法可以在执行程序时接受键盘输入内容作为参 数(为字符串类型),如下面的执行过程 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 6 方法的参数表项应该写为“int num1,int num2”。 方法的修饰符也包括访问控制修饰符和非访问控制修饰符,基 本规则请参照上一章3.2.3节中对修饰符的分析。 方法体:方法声明之后的一对大括号“{” 、 “}”以及它们之 间的内容称作方法的方法体。方法体的内容包括方法的局部变 量和合法的java语句。 如下面程序中常用的main方法: class Test { public static void main(String args[]) { System.out.println(args[0]); //输出用户输入的第一个元素 } } 注意:main方法可以在执行程序时接受键盘输入内容作为参 数(为字符串类型),如下面的执行过程:
Jav最新实用教程 Javac Test java ava est aaa 运行结果为: aaa 上一章关于类的介绍中,曾经提到方法分为静态方法(类 方法)和实例方法,以及两者之间的调用规则,这些在本 章仍然适用。 43方法的调用 前面34节中提到,有两种传递参数给方法的方式,分别对应 与两种方法的调用方式:传值调用和引用调用。 43.1传值调用 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 7 >javac Test.java >java Test aaa 运行结果为: aaa 上一章关于类的介绍中,曾经提到方法分为静态方法(类 方法)和实例方法,以及两者之间的调用规则,这些在本 章仍然适用。 4.3 方法的调用 前面3.4节中提到,有两种传递参数给方法的方式,分别对应 与两种方法的调用方式:传值调用和引用调用。 4.3.1传值调用
Jav最新实用教程 基本数据类型的参数是按值传递的 Java方法的参数是基本数据类型时,是按值传递的( pass by value)。这一点可以通过一个简单的例子来说明: 例4.1:分析下面程序的输出结果。 public class Passvalue public static void test(boolean X) X=IX; System. out. println("方法调用中x="x);} public static void main(stringl args) boolean a= true: System.out. println"方法调用前a="+a);test(a); System.out. printIng("方法调用后a="+a) 运行结果图4-1。房法调用中×:a 方法调用后a:rue 图4-1传值调用 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 8 基本数据类型的参数是按值传递的。 Java 方法的参数是基本数据类型时,是按值传递的(pass by value)。这一点可以通过一个简单的例子来说明: 例4.1:分析下面程序的输出结果。 public class Passvalue { public static void test(boolean x) { x = !x; System.out.println("方法调用中x = "+x); } public static void main(String[] args) { boolean a = true; System.out.println("方法调用前a ="+a); test(a); System.out.println("方法调用后a ="+ a); } } 运行结果图4-1。 图4-1 传值调用
Jav最新实用教程 不难看出,虽然在test( boolean x)方法中改变了传进来的 参数的值,但对这个参数源变量本身并没有影响,即对 main( String|)方法里的test变量没有影响。那说明,参数类 型是简单类型的时候,是按值传递的。以参数形式传递简单类 型的变量时,实际上是将参数的值作了一个拷贝传进方法函数 的,那么在方法函数里再怎么改变其值,其结果都是只改变了 拷贝的值,而不是源值 432引用调用 Java中简单数据类型的传递没有引用。 引用也是一种数据类型,可以把它想象为类似C语言中指针 的东西,它指示了对象在内存中的地址只不过不能够观 察到这个地址究竞是什么。一个对象在内存中会占用一块空 间来保存数据,根据对象的大小,它可能需要占用的空间 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 9 不难看出,虽然在 test(boolean x)方法中改变了传进来的 参数的值,但对这个参数源变量本身并没有影响,即对 main(String[]) 方法里的test 变量没有影响。那说明,参数类 型是简单类型的时候,是按值传递的。以参数形式传递简单类 型的变量时,实际上是将参数的值作了一个拷贝传进方法函数 的,那么在方法函数里再怎么改变其值,其结果都是只改变了 拷贝的值,而不是源值。 4.3.2引用调用 Java 中简单数据类型的传递没有引用。 引用也是一种数据类型,可以把它想象为类似 C 语言中指针 的东西,它指示了对象在内存中的地址——只不过不能够观 察到这个地址究竟是什么。一个对象在内存中会占用一块空 间来保存数据,根据对象的大小,它可能需要占用的空间
Jav最新实用教程 大小也不等。访问对象的时候,一般不会直接是访问对象在内 存中的数据,而是通过引用去访问。 如果定义了不止一个引用指向同一个对象,那么这些引用是不 同的,因为引用也是一种数据类型,需要一定的内存空间来保 存。但是它们的值是相同的,都指示同一个对象在内存的中位 置。比如 String a=hello string b 这里a和b都是引用,当改变了b指示的对象的值时,a所指示的 对象的值也改变。所以,a和b都指向同一个对象,即包含 Hello?的一个字符串对象 这里我描述了两个要点: 引用是一种数据类型,保存了对象在内存中的地址,这种类型 即不是平时所说的简单数据类型也不是类实例(对象) 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 10 大小也不等。访问对象的时候,一般不会直接是访问对象在内 存中的数据,而是通过引用去访问。 如果定义了不止一个引用指向同一个对象,那么这些引用是不 同的,因为引用也是一种数据类型,需要一定的内存空间来保 存。但是它们的值是相同的,都指示同一个对象在内存的中位 置。比如 String a = “hello”; String b=a; 这里a和b都是引用,当改变了b指示的对象的值时,a所指示的 对象的值也改变。所以,a和b都指向同一个对象,即包含 “Hello”的一个字符串对象。 这里我描述了两个要点: 引用是一种数据类型,保存了对象在内存中的地址,这种类型 即不是平时所说的简单数据类型也不是类实例(对象);