| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5632 人关注过本帖
标题:构造函数创建失败后如何返回null
只看楼主 加入收藏
tornador
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:34
专家分:118
注 册:2010-10-4
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:3 
构造函数创建失败后如何返回null
我定义了一个类,在写构造函数的时候通过参数来传递一些基本信息。
比如在构造Person类时需要传递sex信息,例Person p=new Person("man");。在构造函数里面有一个判别机制,如果sex不是man或者woman则认为创建失败。我直接用return返回。这时候,按理说这样构建失败后的p应该为null.但实际上仍然可以通过p这个实例来调用方法,说明返回了一个实例。
我想问一下应该如何写构造函数才能使得当构造函数创建失败后返回null.
多谢了~~~
搜索更多相关主题的帖子: 函数 信息 return null 如何 
2012-02-20 15:59
loveyou520me
Rank: 1
等 级:新手上路
帖 子:7
专家分:2
注 册:2011-11-12
收藏
得分:0 
可以用switch语句判断,如果未实例的话,return null;
2012-02-20 19:13
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:20 
构造函数是没有返回值的,遇到这种问题只能抛出异常,或者写一个静态方法来创建这个对象:
程序代码:
public class Person {
    public Person(...) throws XXXException {
        if (...)
            throw new XXXException(...);
        ...
    }
    // 或者:
    public static Person create(...) {
        if (...)
            return null;
        ...
    }
}


My life is brilliant
2012-02-20 19:56
tornador
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:34
专家分:118
注 册:2010-10-4
收藏
得分:0 
受教了~~~~~多谢。
2012-02-21 18:19
快速回复:构造函数创建失败后如何返回null
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014860 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved