Java 构造函数方法调用中的参数

Java 构造函数方法调用中的参数,java,methods,constructor,Java,Methods,Constructor,向Java中调用的方法传递构造函数的类型是什么 (类名是内部类) 我们如何在没有对象实例的情况下传递构造函数?实际上,新类的名称(参数)将创建该类的新实例。一个结构可能是有用的,它比 Class_name instance = new Class_name(arguments); method_name(instance); 但是您以后将无法访问实例。新建创建一个对象,并将其传递给函数。您没有传递类您传递的是将创建对象的类的“new”您没有传递构造函数,一个实例: 当您这样做时: MyClas

向Java中调用的方法传递构造函数的类型是什么 (类名是内部类)


我们如何在没有对象实例的情况下传递构造函数?

实际上,
新类的名称(参数)
将创建该类的新实例。一个结构可能是有用的,它比

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