0

例如我有这个代码:

public class A
{
    private void my_method(){
        //do something
    }
}

那么如何调用该方法以供下面的代码使用呢?我在一个例子中看到它是这样完成的:

public class A
{
    public A {
        my_method();
    }

    //some other code

    private void my_method(){
        //do something
    }
}

但是尝试这样做会给我这个错误:

“令牌“公共”的语法错误,此令牌之后的类”

当然,错误地使用建议会给出以下错误:

“嵌套类型 A 不能隐藏封闭类型”所以我看到的代码似乎很糟糕,或者我做错了什么。任何人都可以解释如何在Java中正确地做到这一点?

4

4 回答 4

7

您的构造函数是错误的(您忘记了括号)。

它一定要是

public A() {

}
于 2013-10-10T12:46:22.803 回答
0

您收到此错误是因为您没有正确编写构造函数。它应该是:

public A() {
    my_method();
}
于 2013-10-10T12:49:06.190 回答
0

构造函数丢失 ()。利用

public A() { }

于 2013-10-10T12:49:57.653 回答
0

只是为了扩展 Jeroen 的答案,因为您似乎对 Java 很陌生:

您的私有方法可以从您的类中的另一个方法内部调用。例如

public class A
{
    public void anotherMethod() {
        my_method();
    }

    private void my_method(){
        //do something
    }
}

您提供的代码是在类的构造函数中调用的。这是一种特殊方法,在构造类型对象时调用,A例如new A();. 你可以说它是一个构造函数,因为它没有指定返回类型:

public A() {
}

而不是普通的方法:

public void a() {
}

需要注意的是,在 Java 中,使用小写首字母命名普通方法和使用大写首字母命名普通方法是惯例(但不是严格要求)。

所以你的错误是在你的构造函数中你没有放在()方法名称之后(A在这种情况下)。

于 2013-10-10T12:57:19.060 回答