Java 构造函数方法调用中的参数
向Java中调用的方法传递构造函数的类型是什么 (类名是内部类)Java 构造函数方法调用中的参数,java,methods,constructor,Java,Methods,Constructor,向Java中调用的方法传递构造函数的类型是什么 (类名是内部类) 我们如何在没有对象实例的情况下传递构造函数?实际上,新类的名称(参数)将创建该类的新实例。一个结构可能是有用的,它比 Class_name instance = new Class_name(arguments); method_name(instance); 但是您以后将无法访问实例。新建创建一个对象,并将其传递给函数。您没有传递类您传递的是将创建对象的类的“new”您没有传递构造函数,一个实例: 当您这样做时: MyClas
我们如何在没有对象实例的情况下传递构造函数?实际上,
新类的名称(参数)
将创建该类的新实例。一个结构可能是有用的,它比
Class_name instance = new Class_name(arguments);
method_name(instance);
但是您以后将无法访问实例。新建创建一个对象,并将其传递给函数。您没有传递类您传递的是将创建对象的类的“new”您没有传递构造函数,一个实例: 当您这样做时:
MyClass myClass = new Myclass();
method_name(myClass);
在MyClass
中有一个MyClass
的实例。然后用myClass
作为参数调用method\u name
因此,这可以缩短为:
method_name(new Myclass());
如前所述,您正在传递一个新对象 如果您只想传递关于这个类的信息,那么您的方法将需要一个参数,例如
public void method_name(Class clz) { ... do something... )
Constructor const = Class_name.class.getConstructor( String.class);
你会这样称呼它
method_name( Class_name.class);
另一件事是给出构造函数,你可以得到,例如,通过
Constructor const = Class_name.class.getConstructor( ArgumentType.class, AnotherArgumentType.class, ...);
例如
public void method_name(Class clz) { ... do something... )
Constructor const = Class_name.class.getConstructor( String.class);
…如果构造函数使用一个字符串参数
然后调用你的方法
public void method_name(Constructor constructor) { ... do something... )
。。。与
method_name( const );
最后一种方法非常具体,我怀疑它是否真的是您所需要的,无论您认为您可能需要什么。这些类型的用例对于装饰设计模式非常常见,您不需要中间对象
例如:
FileReader fr = new FileReader(filename);
LineNumberReader lnr = new LineNumberReader(fr);
或
请看一下nio框架中的I/O类,以进一步了解这些类型的用例 你没有传递构造函数。您正在传递一个Class\u name
的新实例。是的,Class\u name
是一个构造函数,但请注意。“新运算符通过为新对象分配内存并返回对该内存的引用来实例化类。新运算符还调用对象构造函数。”因此,您将类的实例\u name
传递给方法\u name
。