在这两个类中,我已经从main方法的TestClass的getName方法中传递了TestClassTwo的对象,现在我想使用对象obj调用getTwoName方法。有人可以帮我吗。谢谢
//下面是代码
// class1

package Test;

public class TestClassTwo {

    public static String getTwoName()
    {
        return "2nd";
    }

}


// class2

包装测试;

公共类TestClass {

public void getName(Object obj) throws InstantiationException, IllegalAccessException, ClassNotFoundException
{
    //  call getTwoName method of TestClassTwo using obj object
}
public static void main(String args[]) throws InstantiationException, IllegalAccessException, ClassNotFoundException
{
    TestClass tc=new TestClass();
    tc.getName(new TestClassTwo());
}


}

最佳答案

Object(超类)转换为TestClassTwo(子类):

String name = ((TestClassTwo) obj).getTwoName();


要么:

TestClassTwo temp = (TestClassTwo) obj
String name = temp.getTwoName();


注意,使用实例调用静态方法是没有用的。而是使用类名来调用静态方法:

String name = TestClassTwo.getTwoName();

10-05 21:26