| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1721 人关注过本帖
标题:类中可以实例化自己吗?
只看楼主 加入收藏
林小羽
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-5-29
收藏
 问题点数:0 回复次数:15 
类中可以实例化自己吗?
最近看书越看越糊涂,类中能实例化自己吗?希望有人能给讲一下,最好举个例子看看
main()方法好像不属于任何一个类,它是程序的入口对不?
搜索更多相关主题的帖子: 实例 
2006-12-03 20:33
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

当然可以实例化自己,main是程序的入口!


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-12-03 20:35
林小羽
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-5-29
收藏
得分:0 
下面是自已瞎编的一个程序,编绎无法通过,如果类中可以实例化自己,这个有何不可?

public class Mytest{
static{
Mytest A=new Mytest();
}

public static void print(){
System.out.println("abc");
}
public static void main(String[] args) throws IOException{
A.print();
}
}

java,什么时候才能到达境界呢?
2006-12-04 22:50
林小羽
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-5-29
收藏
得分:0 
static应该在main 前面执行吧,先让它把自己给实例化掉,可结果出错了

java,什么时候才能到达境界呢?
2006-12-04 22:51
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

你之所以为错,是因为
static{
Mytest A=new Mytest();
}
执行了,但是Mytest A只在static块里面有用


可惜不是你,陪我到最后
2006-12-04 22:59
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

rt

[此贴子已经被作者于2006-12-4 23:04:06编辑过]


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-12-04 23:03
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

是作用域的问题!我也长记性了!


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-12-04 23:04
林小羽
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-5-29
收藏
得分:0 
好像是吧,有没有比较好一点儿证明例子?

java,什么时候才能到达境界呢?
2006-12-05 13:16
阴阳妖瞳
Rank: 1
等 级:新手上路
帖 子:210
专家分:0
注 册:2006-12-5
收藏
得分:0 
随便举个例子

import java.sql.Date;
/**
*
* @author v
*/
public class User {

private String name;
private String address;
private Date birthday;

public String getName() {
return name;
}

public String getAddress() {
return address;
}

public Date getBirthday() {
if( birthday!=null )
return (Date)birthday.clone();
return null;
}

private User( String aName, String aAddress, Date aBirthday ){
name = aName;
address = aAddress;
birthday = aBirthday;
}

public static User createMe(){
return new User( "xiachi","nanning",Date.valueOf("1985-06-12") );
}



//Test this User class
public static void main(String args[]){
User me = User.createMe();
System.out.println( me.getName() );
System.out.println( me.getAddress() );
System.out.println( me.getBirthday() );
}
}

一身转战三千里,一剑曾挡百万师
2006-12-05 13:54
阴阳妖瞳
Rank: 1
等 级:新手上路
帖 子:210
专家分:0
注 册:2006-12-5
收藏
得分:0 
public static User createMe(){
return new User( "xiachi","nanning",Date.valueOf("1985-06-12") );
}

这样就自己实例化了自己

一身转战三千里,一剑曾挡百万师
2006-12-05 13:55
快速回复:类中可以实例化自己吗?
数据加载中...
 
   



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

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