簡體   English   中英

Java-如何在定義的類中加載方法?

[英]Java - how to load method inside class it is defined?

例如,我有以下代碼:

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
    }
}

但是嘗試這樣做會給我這個錯誤:

“令牌“ public”上的語法錯誤,此令牌后應為類”

當然,錯誤地使用advisor會出現此錯誤:

“嵌套的類型A無法隱藏封閉的類型”,所以看來我看到的代碼很糟糕,或者我做錯了什么。 任何人都可以解釋如何在Java中正確地做到這一點?

您的構造函數是錯誤的(您忘記了括號)。

它一定要是

public A() {

}

因為沒有正確編寫構造函數,所以出現此錯誤。 它應該是:

public A() {
    my_method();
}

構造函數丟失()。 采用

public A() { }

只是為了擴展Jeroen的答案,因為您似乎對Java相當陌生:

可以從類中的另一個方法內部調用您的私有方法。 例如

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

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

您提供的代碼在類的構造函數中調用。 這是一種特殊的方法,當構造類型為A的對象(例如new A();時會調用該方法new A(); 您可以說它是一個構造函數,因為它沒有指定返回類型:

public A() {
}

而不是常規方法:

public void a() {
}

需要注意的是,在Java中,習慣上(但並非強制要求)以小寫首字母命名普通方法,並以大寫首字母命名類/對象/構造函數。

因此,您的錯誤是在構造函數中,您沒有將()放在方法名稱之后(在本例中為A )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM