Java中的值传递和引用传递
在java中实质只存在一种传递方式:即值传递。 而引用传递是对C/C++而言的。结论:
对于基本类型,在方法体内对方法参数进行重新赋值,并不会改变原有变量的值。
对于引用类型,在方法体内对方法参数进行重新赋予引用,并不会改变原有变量所持有的引用。
方法体内对参数进行运算,不影响原有变量的值。
方法体内对参数所指向对象的属性进行运算,将改变原有变量所指向对象的属性值。
在JAVA中变量有以下两种:
基本类型变量,包括char、byte、short、int、long、float、double、boolean。
引用类型变量,包括类、接口、数组(基本类型数组和对象数组)。
最后我们得出如下的结论:
基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方法实体中,无法给原变量重新赋值,也无法改变它的值。
对象和引用型变量被当作参数传递给方法时,在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。
2 public class Person
3 {
4 private String name = null;
5 private int age = 0;
6
7 public Person(String name, int age) {
8 this.name = name;
9 this.age = age;
10 }
11
12 public void changeName(String newName) {
13 this.name = newName;
14 }
15
16 public void changeAge(int newAge) {
17 this.age = newAge;
18 }
19
20 public String toString() {
21 return "Person - Name: " + name + ", Age: " + age;
22 }
23 }
24
25 public class PassByValue
26 {
27 public static void main(String[] args) {
28 // one example
29 String value1 = "value1: aaa";
30 String value2 = "value2: bbb";
31
32 swapValue(value1, value2);
33
34 System.out.println(value1);
35 &n
相关文档:
用Java写的计算器
package com.wenbo.myprogrem.day15;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.Actio ......
我打算用今年一年的时间把传智博客的java课程学完不知可不可行?在学了他在网上的课程之后对自己的项目实战是否有帮助?虽然还不确定,但尽力吧。反正今年的时间也不多,还得在每天的晚上下班时间进行,很辛苦的。外加上自己眼高手低,执行不力,效果很可能大大折扣。尽力吧 ......
<%
URL url = new URL("http://www.itpub.net");
//建立URL对象,并实例化为url,获得要抓取的网页地址
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"GB2312"));
//建立BufferedReader对象,并实例化为reader,这里的GB2312是要抓取的网页编码格式
whi ......
C# Java命名规则
C# (C#高级编程,微软设计模式)
命名空间,类,方法 :每个单词的第一个字母大写 例 ServerCode。
(采用Pascal大小写规则)
私有成员:单词的第一个字母小写,通常前面加上“_” 例 _name 或 _serverCode。
(采用camell大小写规则)
Java (java设计 ......