java - 构造函数未定义问题

标签 java constructor

public class Person {

    public String Person(String name) {
        return name;
    }
    public static void main(String[] args) {
        Person one = new Person("hendry");
    }
}

我做错了什么?

最佳答案

这不是构造函数,因为您已经声明了返回类型。它只是一个恰好与您的类同名的方法。

public String Person(String name) {

如果没有显式构造函数,编译器会插入一个不带参数的隐式默认构造函数,因此与参数数量存在冲突。

删除返回类型;不应在构造函数上指定返回类型,甚至 void 也不应指定:

public Person(String name)

不要从构造函数返回任何内容。但是,您可能希望将参数存储在实例变量中,并且您可能希望添加一个返回该实例变量的方法(“getter”)。

关于java - 构造函数未定义问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28309437/

相关文章:

Java:本地连接到 Apache 上的 SQL

java - JFrame 构造函数的最佳实践?

java - Android 当应用程序未在后台运行时发送短信

java - Java中构造函数中 "this."的使用

c++ - 为什么没有调用构造函数?

java - 获取数字的最后一位

java - 如何在 Java AWT 中使用 Bigdecimal

C++ 使用枚举调用基础构造函数

c# - 找不到类型的构造函数

c++ - 在构造函数的初始化列表中将 c-style-string 转换为 std::string