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

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
    }
}

posted @   小白咚  阅读(156)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示