|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
分类:
bdv002-Java面向对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通