簡體   English   中英

為什么我會收到此錯誤

[英]why am I getting this error

為什么我收到錯誤消息。 在 eclipse 中,它說構造函數調用應該是第一行。 這是第一行。 或者你不能擴展主要?

import javax.swing.JFrame;
import javax.swing.JLabel;

    public class Main extends JFrame{

        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //JLabel testLabel1 = new JLabel();
            public Main(){
                super("title bar");
            }
        }

    }

您的Main構造函數應該位於main方法之外 像這樣:

public class Main extends JFrame {
    public Main() {
        super("title bar");
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //JLabel testLabel1 = new JLabel();
    }
}

構造函數應該在public static void main(String[] args) {這是一個 function 之外,你不能在 ZC1C425268E68385D1AB5074C17A94F 中有一個構造函數。

您正在嘗試static 方法中定義構造函數( public Main )。 這在 Java 中無效。

你的意思可能更像這樣:

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Main extends JFrame{

    /**
     * @param args
     */
    public static void main(String[] args) {
    }

    // The constructor isn't *inside* `main` anymore:
    public Main(){
        super("title bar");
    }
}

有多個錯誤。

第一個錯誤是您在方法中定義了 class 的構造函數。 這是非法的,導致編譯器抱怨它需要new關鍵字而不是public 其次,必須在第一行調用super class 方法。 但是,由於之前的錯誤,編譯器現在很困惑,它已經報告了。

您可能還想改進 class 命名約定。 很容易混淆main(String args[]方法,它是代碼的入口點, Main class,以及它的構造函數Main() (由編譯器生成)。

暫無
暫無

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

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