【问题标题】:Object instantiation and assignment in a class [closed]类中的对象实例化和赋值[关闭]
【发布时间】:2012-08-14 20:08:04
【问题描述】:

在类中可以在哪里实例化和分配对象?即分配是否必须在类方法之一中进行?

public class Foo{

   Bar b1 = new Bar();
   Bar b2;

   void Foo(){
      b2 = new Bar();
   }
}

b1 是一个有效的实例化吗?

【问题讨论】:

  • 您在询问之前尝试过您提供的代码吗?
  • 你为什么不自己试试呢?编译器会告诉您它是否是有效的实例化。顺便说一句,Foo() 不是该类的构造函数,而是一种方法。构造函数不得声明返回类型。
  • @11684 IDE 可以告诉他它是否有效,即使其他部分无效。
  • @11684 有效的Java代码。 Foo() 不是构造函数,而是方法,它会编译得很好。
  • @Nate 我认为人们不会投反对票,因为这个问题太“简单”了,而是因为你似乎没有自己测试过。

标签: java class instantiation


【解决方案1】:

是的。是的,它是有效的。 Foo 类的每个实例都会有一个名为 b1 的字段,该字段有一个新的 Bar 实例。

【讨论】:

  • @Nate 如果您想了解有关 Java 工作方式的技巧和陷阱的更多信息,请获取 Joshua Bloch 的书Effective Java (Second Edition)。通过阅读他的书,我在 Java 编程方面获得了比从整个大学学位课程中获得的更多的智慧。
猜你喜欢
  • 2012-08-04
  • 1970-01-01
  • 2020-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多