如何直接访问类型转换对象的方法?

时间:2014-02-18 03:59:32

标签: java oop casting

这看起来像是一个基本的面向对象问题,但我来自Pascal / Delphi背景,我找不到类似的方法来在Java中获得相同的结果。

在Pascal / Delphi中,我可以改变这样的事情(这不完全正确,但只是为了给你一个例子):

var a: TButton; b: string;
begin
  a := TButton(getObject(request));
  b := a.caption;
end;

进入这个:

var b: string;
begin
  b := TButton(getObject(request)).caption;
end;

但是如何在Java中实现相同的解决方案?如何改变:

Button a;
String b;
a = (Button) getObject(request);
b = a.caption;

String b;
b = (Button) getObject(request).caption;

或类似的东西?关键是,我想消除声明临时变量来保存对象的需要,如果我想要的只是在该对象中获取另一个值(或对象)。但问题是,对象需要首先进行类型化,因为我收到的只是getObject()函数中的一般对象。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我会这样做:

b = (String)((Button) getObject(request).caption)