java中找不到对象是不是就等于空指针异常?(数组不就是数组地址值如果设了null再给元素赋值就报
java中找不到对象是不是就等于空指针异常?(数组不就是数组地址值如果设了null再给元素赋值就报空指针异常)比如:……main(str…){Zhya=newZhy;a=...
java中找不到对象是不是就等于空指针异常?(数组不就是数组地址值如果设了null再给元素赋值就报空指针异常)
比如:
……main(str…){
Zhy a = new Zhy;
a=null;
a.run(); //编译成功,运行报错。JAVA伪代码
}
class Zhy{
public void run(){
……println("报错");
}
} 展开
比如:
……main(str…){
Zhy a = new Zhy;
a=null;
a.run(); //编译成功,运行报错。JAVA伪代码
}
class Zhy{
public void run(){
……println("报错");
}
} 展开
1个回答
展开全部
不等于,而且区别还很大。NullPointerException属于Unchecked Exception: 这类异常指的是程序的瑕疵或逻辑错误,并且在运行时无法恢复,语法上不需要声明抛出异常。
ClassNotFoundException属于Checked Exception: 这类异常代表程序不能直接控制的无效外界情况(如用户输入,数据库问题,网络异常,文件丢失等),需要try catch处理或throws声明抛出异常。
你举的例子中,指针变量a先是指向一个Zhy的实例(这说明java这时是找得到Zhy这个class的,不存在classNotFound),后来又给它赋空,它没有指向任何空间 你调用它的方法和属性就会出错。记住,对null 进行操作就会产生空指针异常。
ClassNotFoundException属于Checked Exception: 这类异常代表程序不能直接控制的无效外界情况(如用户输入,数据库问题,网络异常,文件丢失等),需要try catch处理或throws声明抛出异常。
你举的例子中,指针变量a先是指向一个Zhy的实例(这说明java这时是找得到Zhy这个class的,不存在classNotFound),后来又给它赋空,它没有指向任何空间 你调用它的方法和属性就会出错。记住,对null 进行操作就会产生空指针异常。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询