【问题标题】:Constructor behaving like a method构造函数表现得像一个方法
【发布时间】:2017-06-06 17:44:29
【问题描述】:

我是 Java 新手,所以不确定这是否是我的错误。我的项目中有两个包。我正在尝试在 j2 类的对象中使用属于 lovo 类的对象。属于包 lovo 的对象的构造函数现在被视为方法。这是为什么呢?

package j2;
import lovo.kulo;

public class J2 
{

public static void main(String[] args) 
      {

    kulo kla ;
    kla = new kulo();
    //kla.kulo();
      }
}

package lovo;

public class kulo {
    public void kulo(){
    System.out.print("This is supposed to be a constructor");}

}

当我运行时没有输出,但是当我删除注释并将其添加为代码时有输出。既然它是一个构造函数,它不应该在创建对象后立即打印吗?

【问题讨论】:

  • 我们需要查看重现您遇到的问题的代码示例。请参阅stackoverflow.com/help/mcve 了解如何执行此操作。
  • 欢迎来到 SO。问题不清楚。
  • “被当作方法对待”是什么意思?你怎么知道它被当作一种方法对待?在这里获得答案的最好方法是向我们展示一些代码(最好是其他人实际可以编译的代码),告诉我们您希望您的代码做什么,并告诉我们它实际上做了什么。 (包括实际输出和/或编译器错误消息。)

标签: java inheritance package


【解决方案1】:

确实是一种方法。要使其成为构造函数,请删除 void 返回类型。如果您遵循 Java 命名约定并以大写字母开头类名(以及因此构造函数名),也会减少混乱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-20
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 2016-06-24
    • 2012-03-01
    相关资源
    最近更新 更多