「java」Java中声明一个对象并赋值NULL或者只声明不赋值

Java中声明一个对象并赋值NULL或者只声明不赋值

其实这个问题可以当成声明变量要不要赋初始值的问题,不管这个变量是基础类型还是引用类型,只是基础类型不能赋值NULL。

这里要分两种清况,成员变量或者局部变量。给一个代码:

class People{
    private String name;
    private int age;
 
    String getName() {
        return name;
    }
    int getAge() {
        return age;
    }
}
public class Demo {
    public static void main(String[] as){
        People p;
         int a;
        p = new People();
//        t1= null;
//        a=1;
        System.out.println(p.getName());
        System.out.println(p.getAge());
//        System.out.println(a);
    }
}

如果是成员变量,比如People类的name或者age字段,不手动赋初始值的时候Java会给个默认值,和变量的类型对应,string是引用类型,打印出来name是null,age是0这个时候变量初始值给不给null或者0是一样的。

如果是局部变量,比如在主方法中,声明一个对象p和一个整形a,如果只声明的话,使用时会报错,也就是局部变量在使用之前必须要手动初始化赋值,Java不会给默认值,当然也可以不在声明的时候赋值,可以在后边使用之前赋值就行。

这里可能要注意引用类型变量,比如代码中的p对象,声明时不赋值和给个null是不一样的,赋值null也相当于完成了初始化赋值,这个时候可以调用方法,但必然会报空指针异常。如果只想提前声明一下,后边代码会进行赋值的话,那声明的时候就不必要给个null了。

总之,一个局部对象使用之前肯定要先赋值,但不管你在什么时候赋值。

所以,无论是成员变量还是局部变量,声明的时候不赋值只声明当然是可以的。
 

 

转载:https://blog.csdn.net/liyaowen505/article/details/83148059

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值