2017-06-06 74 views
-2

我是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");} 

} 

当我运行那里没有输出,但是当我删除评论并添加它作为代码有输出。既然它是一个构造函数,它不应该在创建对象时立即打印出来?

+3

我们需要看到一个代码示例,它重现了您遇到的问题。有关如何执行此操作,请参阅https://stackoverflow.com/help/mcve。 – Radiodef

+0

欢迎来到SO。问题不明确。 – c0der

+0

“被视为一种方法”是什么意思?你怎么知道它被当作一种方法来对待?在这里得到答案的最好方法是向我们展示一些代码(最好是其他人可以编译的代码),告诉我们你期望你的代码做什么,并告诉我们实际上做了什么。 (包含实际输出和/或编译器错误消息。) –

回答

0

确实是一种方法。要使其成为构造函数,请删除void返回类型。如果遵循Java命名约定并以大写字母开头的类名(以及因此的构造函数名),它也不那么令人困惑。