将对象视为另一个对象
Treat object as another object
首先我想说这是一个表面问题,您马上就会明白。
我得到了一个对象,我希望从现在开始,直到我重新调用它,java 会将该对象视为另一个对象,而不是我一次又一次地转换它。
例如,我得到这样的东西:
Object obj = new SomeObject();
((SomeObject) obj).someMethod1();
((SomeObject) obj).someMethod2();
((SomeObject) obj).someMethod3();
相反,我想做类似的事情:
Object obj = new SomeObject();
obj treatas SomeObject; // This is the line that I dont even know if exist in java
obj.someMethod1();
obj.someMethod2();
obj.someMethod3();
您必须创建一个新变量(或首先将 obj
声明为 SomeObject
类型):
Object obj = new SomeObject();
SomeObject sobj = (SomeObject) obj;
sobj.someMethod1();
sobj.someMethod2();
sobj.someMethod3();
在更一般的情况下,如果您不确定 obj
是 SomeObject
的实例:
if (obj instanceof SomeObject) {
SomeObject sobj = (SomeObject) obj;
sobj.someMethod1();
sobj.someMethod2();
sobj.someMethod3();
}
首先我想说这是一个表面问题,您马上就会明白。 我得到了一个对象,我希望从现在开始,直到我重新调用它,java 会将该对象视为另一个对象,而不是我一次又一次地转换它。 例如,我得到这样的东西:
Object obj = new SomeObject();
((SomeObject) obj).someMethod1();
((SomeObject) obj).someMethod2();
((SomeObject) obj).someMethod3();
相反,我想做类似的事情:
Object obj = new SomeObject();
obj treatas SomeObject; // This is the line that I dont even know if exist in java
obj.someMethod1();
obj.someMethod2();
obj.someMethod3();
您必须创建一个新变量(或首先将 obj
声明为 SomeObject
类型):
Object obj = new SomeObject();
SomeObject sobj = (SomeObject) obj;
sobj.someMethod1();
sobj.someMethod2();
sobj.someMethod3();
在更一般的情况下,如果您不确定 obj
是 SomeObject
的实例:
if (obj instanceof SomeObject) {
SomeObject sobj = (SomeObject) obj;
sobj.someMethod1();
sobj.someMethod2();
sobj.someMethod3();
}