0

我有这段代码,但我不确定如何使用不同类中create()的方法调用公共方法。public static void main(String[] args)我在网上搜索过,但在公共方法上一无所获,只是公共无效方法。

这是代码

主类.java:

public class Mainclass {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    create createObject = new create();
    createObject.create();
    System.out.println("dammit");

    }

}

创建.java

public class Create extends javax.swing.JPanel {

    public create() {
            initComponents();
            setDate();
    }
}
4

4 回答 4

5

那实际上是一个构造函数。你用new.

 create panel = new create();

使用小写名称的类是非常不正统的。

于 2012-08-23T05:35:24.037 回答
3

那是一个构造函数,而不是一个普通的方法。你可以看到它和它所在的类同名。这里调用它:

create createObject = new create();

顺便说一句,打电话create让我成为一只悲伤的熊猫。

于 2012-08-23T05:35:43.710 回答
2
public create() {
            initComponents();
            setDate();
    }

create()是一个构造函数,所以当你说Create createObject = new Create();没有参数化的构造函数时会自动调用。

在这里阅读构造函数

请遵循 java 命名约定类名始终以大写字母开头。

于 2012-08-23T05:41:09.850 回答
1

从一些题外话开始,但您可能想阅读Java 命名约定以了解如何在 Java 中命名您的类/方法/变量。

正如我们所知,构造函数的声明看起来像方法声明——除了它们使用类的名称并且没有返回类型。所以你可以有这样的东西:

public class create extends javax.swing.JPanel {
    /** Normal Constructor */
    public create() {
    }

    /**
    * Normal method for initialization.
    */
    public void create(){
        initComponents();
        setDate();
    }
}

我倾向于使用特定的方法来处理我的类的对象初始化(或设置,如果可能的话),即使所有业务逻辑与对象创建机制分开。所以,如果我是你,我会将我的方法重命名为public void doCreate()并初始化那里的所有内容。(这是主观的和偏好问题)。在这种情况下,我MainClass会改变这样的事情:

public class MainClass {
    /**
     * @param args
     */
    public static void main(String[] args) {
        create createObject = new create();
        createObject.doCreate();
        System.out.println("dammit");
    }
}
于 2012-08-23T05:51:38.833 回答