你只能在方法内使用new 运算符--?

Henry.6 2004-01-04 06:26:19
这个说法对吗?
一java 技术书里说的
...全文
36 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
danceflash 2004-01-10
  • 打赏
  • 举报
回复
晕~~~
在类属性定义时赋初值的动作优先于构造器

个人认为这是Java提供的一个方便之处
如果一个属性经常只赋值为一个默认值
但是你要构造多个构造器的时候,是不是每一个构造器都要为这个对象赋初值呢
当然你也可以做一个构造器专门为这些对象赋初值

而同样的你也可以使用在定义处赋初值的方法

我觉得只有在了解了对象的构造过程才能来讨论这些东西

建议楼主先看看 Thinking in Java 2nd or 3rd
Henry.6 2004-01-10
  • 打赏
  • 举报
回复
Azraelfan(Azrael) 和 fangrong() 分析得有道理.
这是印度一所程序员培训机构的一本教材里写的.看来是有它的道理.
fangrong 2004-01-08
  • 打赏
  • 举报
回复
class test{

private Object o1;

private Object o2;

private Object o3;

test(){
o1=new Object();
o2=new Object();
o3=new Object();
}
}

我想楼主大概说的是这个意思吧.
其实o1,o2,o3也可以在声明的时候创建的,
只是上面这种方式把创建放到构造函数中,保证了在使用的时候才创建一个对象的原则
javakevin 2004-01-08
  • 打赏
  • 举报
回复
尽信书不如无书!
Yanbin_Q 2004-01-07
  • 打赏
  • 举报
回复
强烈建议楼主不要看那本书了

class A {
String s;

static{
s=new String("这样都行啊");
}
StringBuffer sb = new StringBuffer("a");
public void a() {
System.out.println(sb);
}
}
Azraelfan 2004-01-07
  • 打赏
  • 举报
回复
的确可以 ,danceflash(Wine)说的千真万确啊,,但是我们不建议这样使用,在构造器里做这样的动作才最合理啊!
这本书也不完全错,大概是你没完全理解他的意思啊!
lijintaowangyanqiu 2004-01-07
  • 打赏
  • 举报
回复
类的成员可以在类的定义中初始化吗?
初始化应该在构造函数中实现的
我有点迷茫
mymoto 2004-01-04
  • 打赏
  • 举报
回复
呵呵,头一次听到这样的说法,现在的书啊,真是害人不浅啊
Sheepy 2004-01-04
  • 打赏
  • 举报
回复
建议那本书你还是不要看了……
hacker18 2004-01-04
  • 打赏
  • 举报
回复
up
kenny1979 2004-01-04
  • 打赏
  • 举报
回复
哪里都可以啊! 比如类成员的赋初值!
kill1047 2004-01-04
  • 打赏
  • 举报
回复
那里都可用
yaray 2004-01-04
  • 打赏
  • 举报
回复
如果累已经定义了,在哪里都可以new
yoken 2004-01-04
  • 打赏
  • 举报
回复
class A {
StringBuffer sb = new StringBuffer("a");
public void a() {
System.out.println(sb);
}
}
danceflash 2004-01-04
  • 打赏
  • 举报
回复
不会啊
类的成员属性的初始化也是可以用的
还是静态块里面
都是可以的啊
leeak 2004-01-04
  • 打赏
  • 举报
回复
new可以创建一个新的对象,应该在方法内使用

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧