当在同一个类中两次使用类名时,java传递变量

时间:2018-07-29 05:11:59

标签: java function class

public class test extends AbstractTableModel {

    public static void main(String[] args) {
    }

    public String valuePass(int rowIn)
    {
        String value = "open";
        return value;
    }


    test(mdpTEST parentPanel) {
        m_parentPanel = parentPanel;
    }

    ...
}

import demo.test;
public class order{

    public void new() 
    {
        test blah = new test(null);
        String text = blah.valuePass(0);    
    }

}

在上面的代码中,“ blah”应引用公共的“ test”类,但是当我在该行中遇到错误时,被告知将“ test()”的可见性更改为public。 test blah = new test(null);”。我感到困惑的是,为什么“ blah”未引用“ public class test”,以及此处如何利用“ test()”的第二个实例。感谢您对理解此问题的帮助!

1 个答案:

答案 0 :(得分:0)

您显示的代码有两个问题

1)您不能将new()作为new作为方法名称

2)第test blah = new test(null);行正在调用位于不同包中的测试类的构造函数。因此,默认可见性将应用于测试类中的test(...)构造函数。并且根据Java可见性规则,您必须将其公开以使用其他包进行访问

进行这些更改,您的代码应该可以正常工作