Java入门

值和引用类型

2022-04-11  本文已影响0人  朱兰Juran

值类型

基本类型 包括 byte,short,int,long,float,double,boolean和char。

Java方法参数传递的到底是值还是引用?

基本类型传的是变量的值。

所以,当你将它们传递给一个方法时,你基本上是对变量的值进行操作,而不是对变量本身进行操作。

最常见的说法是基本类型传的是值,对象传的引用。

下面是一个例子:

public class MyJavaClass {

  public static void main(String[] args) {

    int x = 10;

    addTo(x); // 这时候等价于 addTo(10)

    System.out.println(x);     

  }

  static void addTo(int num) {

    num = num + 1;

  }

}

// 输出 "10"

在上面的例子中,方法取其参数的值,这就是为什么原始变量x不受影响,10仍然是x的值。


引用类型

引用类型传递的是对象地址值,而非对象或副本。

当你使用构造函数创建对象时,你将创建一个引用变量。

例如,我们要定义一个Student类:

public class MyJavaClass {

  public static void main(String[] args) {

    Student j;

    j = new Student("Jing");

    j.setAge(18);

    addTo(j);

    System.out.println(j.getAge());

  }

  static void addTo(Student s) {

    s.setAge(s.getAge() + 1);

  }

}

//输出 "19"

addTo方法将Student对象作为参数,并增加其属性。

由于 j 是引用类型,因此该方法影响对象本身,并且可以更改其属性的实际值。

提示:数组和字符串也是引用类型。

上一篇 下一篇

猜你喜欢

热点阅读