黑马程序员技术交流社区
标题:
静态构造函数
[打印本页]
作者:
章闽
时间:
2012-10-23 13:39
标题:
静态构造函数
class Sundae
{
private Sundae()
{}
static Sundae makeASundae()
{
return new Sundae();
}
}
在同一个.java文件中,public主类中创建该类对象的方式如下:
public class HelloDate
{
Sundae testSundae = new Sundae.makeASundae();
}
为什么编译器总是抱错,说Sundae不能当作类型来解决,为什么?
作者:
杜正华
时间:
2012-10-23 14:07
Sundae.makeASundae();
本来就返回一个实例对象,你又new语法错误,把new删掉
作者:
于连林
时间:
2012-10-23 14:11
new 是用来创建类对象的,你那是通过类中的方法获得对象 把new去掉就行了
public class test_001 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Sundae testSundae = Sundae.makeASundae();
testSundae.a();
}
}
class Sundae
{
private Sundae()
{
}
static Sundae makeASundae()
{
return new Sundae();
}
public void a(){
System.out.println("ok");
}
}
作者:
于连林
时间:
2012-10-23 14:11
new 是用来创建类对象的,你那是通过类中的方法获得对象 把new去掉就行了
public class test_001 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Sundae testSundae = Sundae.makeASundae();
testSundae.a();
}
}
class Sundae
{
private Sundae()
{
}
static Sundae makeASundae()
{
return new Sundae();
}
public void a(){
System.out.println("ok");
}
}
作者:
黄小贝
时间:
2012-10-23 14:29
1.png
(8.44 KB, 下载次数: 20)
下载附件
2012-10-23 14:29 上传
作者:
刘学宾
时间:
2012-10-23 14:33
Sundae testSundae = Sundae.makeASundae();
这条语句是获得一个名为testSudae的Sundae类类型的实例,而Sundae.makeASundae()的
前面不应加“new”,new是创建的意思,而Sundae.makeASundae()直接可以创建出一个实例。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2