在这两个类中,我已经从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();