好问题。答案就是这篇文章的题目所建议的,这是一种合理的设计。在这种情况下,newInstance()方法是一种“静态工厂方法",让我们在初始化和设置一个新的fragment的时候省去调用它的构造函数和额外的setter方法。为你的Fragment提供静态工厂方法是一种好的做法,因为它封装和抽象了在客户端构造对象所需的步骤。例如,考虑下面的代码: public class MyFrag
class.forName() public static Class<?> forName(String className)throws ClassNotFoundException 返回与带有给定字符串名的类或接口相关联的 Class 对象。 调用 forName("X") 将导致命名为 X 的类被初始化。 public T newInstance()throws Ins