在浏览文档时,我读到了一些 ViewHolder 是静态类的地方,但它是否需要在静态类上创建新的?在那个例子中,他们做了新的吗?但是根据概念,新的不应该在静态类上完成,对吧?
问问题
10009 次
3 回答
2
您只能通过四种方式构造类:
- 使用“新”
- 使用使用 Class.newInstance
- 使用内部使用 new 创建新实例的方法/工厂
- 使用 object.clone(如果支持)
1 和 3 是迄今为止最常用的
于 2012-04-21T14:13:52.857 回答
1
将类称为静态并不是最好的表达方式,因为它通常意味着不必实例化这些类。但这也可能取决于上下文,这需要首先讨论,因为您的问题没有给出。
于 2012-04-21T14:19:02.000 回答
1
创建嵌套类实例的语义可能会令人困惑。下面是一个简单的类,它定义了一个静态嵌套类和一个内部类。特别注意 main 方法,其中创建每个实例类的实例。
// creating an instance of the enclosing class NestedClassTip nt = new NestedClassTip(); // creating an instance of the inner class requires // a reference to an instance of the enclosing class NestedClassTip.NestedOne nco = nt.new NestedOne(); // creating an instance of the static nested class // does not require an instance of the enclosing class NestedClassTip.NestedTwo nct = new NestedClassTip.NestedTwo(); public class NestedClassTip { private String name = "instance name"; private static String staticName = "static name"; public static void main(String args[]) { NestedClassTip nt = new NestedClassTip(); NestedClassTip.NestedOne nco = nt.new NestedOne(); NestedClassTip.NestedTwo nct = new NestedClassTip.NestedTwo(); } class NestedOne { NestedOne() { System.out.println(name); System.out.println(staticName); } } static class NestedTwo { NestedTwo() { System.out.println(staticName); } } }
嵌套类可能会令人困惑,但是一旦您了解了它们的用途并习惯了语义,它们就不会有太多东西了。如果您想了解更多有关嵌套类的详细信息,请查看 Java 语言规范。
于 2012-04-21T14:20:23.290 回答