java中“未初始化的String引用”怎么理解(TK in java的习题)
ringa_lee
ringa_lee 2017-04-17 17:10:03
[Java讨论组]

我是这样理解的,大家看看对不对,输出结果是空(不是字符‘null’)

class rock{
    rock(){
        System.out.println(new String());}
}
public class constructor {
public static void main(String args[]){
    new rock();
}
}
ringa_lee
ringa_lee

ringa_lee

全部回复(2)
伊谢尔伦

就是成员变量没有显示赋值,编译器会将成员变量设置为默认值

public class NoneInitTest {
    private String str;
    
    public static void main(String[] args) {
        System.out.println(new NoneInitTest().str);
    }
}

如果成员变量类型是对象,未显式初始化的话,就会被设为null,但是如果是方法中定义的局部变量的话,不会设置默认值,而是会报错

大家讲道理
public class Foo {
    private static String str;
    
    public static void main(String[] args){
        System.out.println(str);
    }
}

就是类中的一个域如果没有被初始化,Java会把它初始化为该类型的零值。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号