为什么Java找不到我的构造函数?

Rom*_*man 6 java constructor compilation

好吧,也许这是一个愚蠢的问题,但我无法解决这个问题.

在我的ServiceBrowser班上我有这一行:

ServiceResolver serviceResolver = new ServiceResolver(ifIndex, serviceName, regType, domain);
Run Code Online (Sandbox Code Playgroud)

编译器抱怨它.它说:

cannot find symbol
symbol : constructor ServiceResolver(int,java.lang.String,java.lang.String,java.lang.String)
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我在ServiceResolver中有一个构造函数:

public void ServiceResolver(int ifIndex, String serviceName, String regType, String domain) {
        this.ifIndex = ifIndex;
        this.serviceName = serviceName;
        this.regType = regType;
        this.domain = domain;
    }
Run Code Online (Sandbox Code Playgroud)

ADDED:void从构造函数中删除了它的工作原理!为什么?

Rom*_*man 9

从签名中删除void

public ServiceResolver(int ifIndex, String serviceName, String regType, String domain) {
        this.ifIndex = ifIndex;
        this.serviceName = serviceName;
        this.regType = regType;
        this.domain = domain;
    }
Run Code Online (Sandbox Code Playgroud)


Boz*_*zho 5

您已经定义了一个方法,而不是一个构造函数.

除掉 void