gpt4 book ai didi

java - 如何以最佳方式从类对象创建实例

转载 作者:行者123 更新时间:2023-12-01 17:15:27 24 4
gpt4 key购买 nike

有一种方法可以避免从类创建实例的缓慢反射,显然是在另一个方法中?例如:

Foo foo = new Foo();
foo.create(Dog.class, "rocky");

class Foo {
Object create(Class object, String dogName) {
//create an instance of the class 'object' here passing the argument to constructor
//e.g. Object obj = new object(dogName); <-- this is wrong

return obj;
}
}

class Dog extends Animal {
Dog(String dogName) {
this.name = dogName;
}
}

class Animal {
String name;
}

我无法使用关键字“new”创建实例,因为我必须以动态方式在另一个方法中创建实例...

您可以全权以最好的方式(例如性能)改进此代码:) 谢谢!

最佳答案

让您的 Dog 和 Animal 类别保持不变。并使用构建器模式

  public interface Builder<T> {
public T build(String nameString);
}
public static void main(String[] args){
Builder<Dog> builder = new Builder<Dog>()
{

@Override
public Dog build(String nameString)
{
return new Dog(nameString);
}

};
Dog dog = builder.build("Rocky");
System.out.print(dog.name);

}

答案在 Instantiating object of type parameter还进一步解释一下。

关于java - 如何以最佳方式从类对象创建实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22494183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com