Java-可以在构造函数中编写public void()吗?

Java-可以在构造函数中编写public void()吗?,java,constructor,void,Java,Constructor,Void,如果可以在构造函数部分中写入public void,我找不到相关信息。可能吗?在字节码级别,构造函数总是无效的,因此指定它是多余的。i、 e.构造函数始终称为V,即V是返回类型,其中V==void。类似地,静态初始化器是V,如果在这些方法中执行堆栈跟踪(例如打印异常),您将看到此符号 构造函数实际上将要初始化的对象作为参数,因为对象是在调用构造函数之前创建的。注意:您可以使用Unsafe.allocateInstance(Class) 如果可以在构造函数部分中写入public void,我找不到

如果可以在构造函数部分中写入public void,我找不到相关信息。可能吗?

在字节码级别,构造函数总是无效的,因此指定它是多余的。i、 e.构造函数始终称为
V
,即
V
是返回类型,其中
V
==
void
。类似地,静态初始化器是
V
,如果在这些方法中执行堆栈跟踪(例如打印异常),您将看到此符号

构造函数实际上将要初始化的对象作为参数,因为对象是在调用构造函数之前创建的。注意:您可以使用
Unsafe.allocateInstance(Class)

如果可以在构造函数部分中写入public void,我找不到相关信息。可能吗

编写它是不可能的,因为Java将构造函数与方法区分开来,它必须与类具有相同的名称,并且不能指定返回类型。如果指定返回类型,它将假定它是一个方法

符号
x=newclazz()
还将返回值的数量限制为1,即对象。没有简单的方法可以修改此符号以返回多个对象。i、 e.为构造函数支持返回类型并不容易

如果您想定义一个返回类型,很可能您正在考虑这样一个factor方法

public static MyInterface createObject() {
    return new MyClass();
}

请注意返回类型与实际创建的类有何不同,但仍然只返回一个引用。

构造函数语法在中定义。其他任何东西都不正确。

问题不清楚。彼得·劳里回答了一种解释,这是对另一种解释的回答

不能在构造函数中声明方法。但是,您可以声明类和变量


因为可以在构造函数中声明类,所以可以在类中声明方法,然后使用该类。如果方法不是静态的,则可以构造类的对象。

否,Java只允许在类中声明方法,而不允许在另一个方法或构造函数中声明方法。间接地,您可以执行以下操作:

public A() {
  class B {
     public void m() {
     }
         }
    }

“在构造函数中”是什么意思?是否要将构造函数声明为public void?此问题完全不清楚、不完整、过于宽泛、主要基于意见,或者与帮助中心中描述的编程无关,并且不太可能通过编辑来修复。您的意思是在构造函数内声明方法??blacklune,请解释您想要归档的内容以及您想要使用这些代码的目的(也许还可以添加一些您希望使用的幻觉代码)。到目前为止,你的问题过于宽泛,你的意图也不清楚。