zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java基础day13---引用数据类型

JAVA基础 --- 数据类型 引用
2023-09-11 14:18:36 时间

day13
1.引用数据类型进行赋值
----总结:多个引用名称指向同一个对象
    当一个引用名称改变对象中的值,
    则另一个引用名称在访问属性时的值也会发生改变

class Student{
    //属性
    String name;
    int age;
    //构造方法
    public Student(){
    
    }
    public Student(String name,int age){
    this.name=name;
    this.age=age;

    }

}
//编写学生测试类
class StudentTest{
    public static void main(String[] args){
    //实例化学生
    Student s=new Student("张三",19);
    Student s2;
    s2=s;//s和s2共用同一个地址,也就是说 s和s2引用名称指向同一个对象
    System.out.println("s2.name="+s2.name);//张三
    
    s2.name="李四";
    System.out.println("s2.name="+s2.name);// 李四
    System.out.println("s.name="+s.name);// 李四
    
    }
}

2.引用数据类型作为参数传递
---总结:当引用数据类型作为参数进行传递时,
    传递的是地址,也就是说共用同一个地址;
    当一个方法中地址所对应的属性发生改变,
    则另一个地址中所对应的属性值也会发生改变。


//编写学生测试类
class StudentTest{
 public static void change(Student s){
    System.out.println(s.name);
    System.out.println(s.age);
    s.name="无名氏";
 }
 public static void main(String[] args){
    //实例化学生
    Student s=new Student("张三",19);
    Student s2;
    s2=s;//s和s2共用同一个地址,也就是说 s和s2引用名称指向同一个对象
    System.out.println("s2.name="+s2.name);//张三
    
    s2.name="李四";
    System.out.println("s2.name="+s2.name);// 李四
    System.out.println("s.name="+s.name);// 李四
    
--------------------
    Student s=new Student("李四",23);
    System.out.println(s.name);//李四
    System.out.println(s.age);//23
    change(s);
    System.out.println("s.name="+s.name);//无名氏
    System.out.println("s.age="+s.age);//23
    }
}