Java接口实现问题

时间:2010-07-21 16:57:21

标签: java inheritance interface implementation

我有点问题。

Class ll:

interface jj{
    public class ll implements gg{
    public static String j ="C:\\";
        //some code here
}
}

班级ggg:

interface gg{
public class ggg extends JFrame implements jj{
               //bunch of code + a textfield
        textField = new JTextField();
        textField.setBounds(72, 120, 217, 20);
        textField.setColumns(10);
               //bunch of code
}
}

CLass aaa

public class aaa implements jj, gg {
    public aaa(){

//File chooser here + editing strin "j" from class "ll"
        File f = chooser.getSelectedFile();



        if(f!=null)
        {
            jj.ll.j = f.getPath(); 
                //And printing "j" string to the text field from ggg class
            gg.ggg.textField.setText(jj.ll.j);
        }
}
}

我的问题是,文本字段打印不起作用。我尝试使用System.out.println jj.ll.j字符串来测试它是否有东西。是的,它有和预期的工作方式。

2 个答案:

答案 0 :(得分:5)

我没有在界面中创建类的逻辑。

如果您需要各种类中的j字符串,只需将其声明为某个类中的公共静态字段。实现接口以获得常量是非常古老的。如果您使用Java 1.5+,请执行静态导入。

答案 1 :(得分:1)

我有点惊讶,编译器允许你这样做 - 但除非你只是好奇,否则不要这样做。

找到另一种方式。

增加复杂性永远不值得。