|NO.Z.00029|——————————|BigDataEnd|——|Java&方法封装.V11|——|Java.v11|引用变量|注意事项|

一、引用变量的注意事项
### --- 引用变量的注意事项

~~~     ——>        引用类型变量用于存放对象的地址,可以给引用类型赋值为null,表示不指向任何对象。
~~~     ——>        当某个引用类型变量为null时无法对对象实施访问(因为它没有指向任何对象)。
~~~     ——>        此时,如果通过引用访问成员变量或调用方法,会产生NullPointerException异常。
二、编程代码
### --- 编程代码

/*
    编程实现Boy类的定义
 */
public class Boy {
    
    String name; // 用于描述姓名的成员变量
    
    // 自定义构造方法
    Boy() {
        // 调用本类中的有参构造方法
        //this("无名");
        System.out.println("无参构造方法!");
    }
    Boy(String name) {
        // 调用本类中的无参构造方法
        this();
        System.out.println("=========有参构造方法!");
        this.name = name;
    }
    // 自定义成员方法实现特征的打印
    void show() {
        System.out.println("我的名字是:" + name);
    }
    
    public static void main(String[] args) {
        
        // 1.使用无参方式构造对象并打印特征
        Boy b1 = new Boy();
        b1.show(); // null
        
        System.out.println("-----------------------------------");
        // 2.使用有参方式构造对象并打印特征
        Boy b2 = new Boy("张飞");
        b2.show(); // 张飞
        
        System.out.println("-----------------------------------");
        // 3.引用变量的数值可以为空
        //Boy b3 = null;
        //b3.show(); // 编译ok,运行会发生NullPointerException空指针异常   算术异常、数组下标越界异常
        Boy b3 = b2;
        b3.show(); // 张飞
    }
}
三、编译打印
### --- 编译

C:\Users\Administrator\Desktop>javac Boy.java
### --- 打印输出

C:\Users\Administrator\Desktop>java Boy
无参构造方法!
我的名字是:null
-----------------------------------
无参构造方法!
=========有参构造方法!
我的名字是:张飞
-----------------------------------
我的名字是:张飞

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(8)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示