java经验 学习笔记

preview
5星 · 超过95%的资源 需积分: 0 2 下载量 80 浏览量 更新于2011-03-21 收藏 34KB DOC 举报
在Java编程语言中,理解和掌握方法、参数以及变量的生命周期对于编写高效、可靠的代码至关重要。以下是对这些知识点的详细解析: ### 2.1 方法和参数 #### 引用类型和基本类型的比较 引用类型(如对象)和基本类型(如int、char)在处理时存在显著差异。在Java中,基本类型直接存储值,而引用类型存储的是对象的内存地址。因此,当比较两个引用类型的变量时,双等号(==)检查的是它们是否指向同一个对象,而不是比较对象的内容。 #### 参数传递机制 在方法调用时,参数传递分为两种情况:值传递和引用传递(Java中所有参数传递都是值传递,但对象引用是按值传递)。对于基本类型,传入方法的是变量的副本,方法内对参数的修改不会影响到方法外的变量。而对于引用类型,虽然传入的是引用的副本,但这个副本仍指向相同的对象,因此,如果方法改变了引用指向的对象(例如,通过重新赋值或修改对象内容),这种改变在方法内外都是可见的。 例如,String类型的字符串作为方法参数,如下所示: ```java String str1, str2, str3; str1 = str2 = str3 = "Applet"; ``` - `method1`方法改变了引用变量st1指向的字符串,这对外部是可见的。 - `method2`方法通过`concat`方法修改了字符串,但没有改变引用,因此对外部不可见。 - `method3`方法改变了st3的值,所以对st3的改变是可见的。 ### 2.2 变量的生命周期 #### 局部变量与成员变量 局部变量只在定义它们的方法或块内有效,其生命周期随着方法的结束而结束。成员变量(包括实例变量和类变量)属于类或对象,它们的生命周期与对象的生命周期相同,或者对于类变量,直到类加载和卸载。 - 如果变量仅在单个方法内使用,应使用局部变量。 - 当多个方法需要共享数据,或者方法需要返回多个值时,应使用成员变量。 #### 类变量的修改影响 类变量(static修饰的变量)属于类本身,所有实例共享同一份拷贝。因此,对类变量的任何修改都会立即反映到所有实例上。 ### 2.3 数组 #### 数组的输出与初始化 - 输出数组时,简单的数据类型会显示变量的值,而复杂类型(如数组)会显示内存地址。 - 对象数组初始化后,元素默认为null。必须逐个初始化元素,例如: ```java String stringArray[] = new String[3]; for (int i = 0; i < stringArray.length; i++) { stringArray[i] = new String(); } ``` #### 数组的length属性与length()方法 - 数组的`length`属性返回数组的长度,即元素的数量。 - 字符串的`length()`方法返回字符串中的字符数。 #### 初始化数组 数组的大小可以在初始化时使用常量或动态计算的值来指定,这样可以提高代码的灵活性。 #### 参数传递与数组 数组作为方法参数时,传递的是数组引用的副本。这意味着在方法内部对数组元素的修改会影响到方法外部的数组。例如,对于String类型的字符串数组,如果在方法内修改数组元素,这些更改在方法调用结束后仍然可见。这是因为数组本身是引用类型,即使传入的是副本,但副本依然指向原始数组。
zjian0506
  • 粉丝: 0
  • 资源: 7
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源