欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础---引用类型和值类型

程序员文章站 2024-03-23 14:28:52
...

引用类型:

定义:引用值类型的赋值是引用传递,传递的是对象的引用地址。所以当你在一个地方修改这个对象之后,另一个引用该对象也会改变。

例子

public class Test {

    int num;
    public Test(){
    }
    
    public Test(int num){
        this.num=num;
    }
    public void setNum(int num){
        this.num=num;
    }
    public static void main(String args[]){
        Test test1= new Test(1);
        Test test2= new Test();
        test1=test2;
        test2.setNum(2);
        System.out.println("test1:"+test1.num+"test2:"+test2.num);
       //结果为test1:2test2:2
    }
}
(ps:因为把test2的引用地址赋值给了test1,所以test1,test2指向的都是同一块内存区域,所以修改其中一个两个会同时改变)

引用类型包括 :类class 、接口interface、 数组array 、字符串string

值类型:

定义:值类型也叫基本类型,通过值传递,所以当你把a的值赋值给b之后再修改a,b的值是不会跟着改变的。

例子:

int a=1;
int b=a;
a=2;
System.out.println("a:"+a+"b:"+b);
//结果为a:2 b:1

值类型包括:byte、short、int、long、float、double、char、boolean

·