Java 类方法前括号中的参数(?或前缀)是什么';我叫什么名字?

Java 类方法前括号中的参数(?或前缀)是什么';我叫什么名字?,java,android,Java,Android,我是Java新手(是的,英语也是)。 类方法名称前括号中的前缀是什么? 比如说, (EditText)findViewById(R.id.text); R.id.text是参数,但是(EditText)前缀是什么?它是做什么的?这就是在Java中转换对象的方式。通常,如果一个方法声明返回一个常规类型,并且希望将返回对象用作一个更专门化的类型(并且您知道它实际上是这个专门化类型的一个实例),那么您可以这样做。例如,如果您有一个返回对象的方法,但您知道该对象实际上是一个字符串,并且希望将其用作字符

我是Java新手(是的,英语也是)。 类方法名称前括号中的前缀是什么? 比如说,

(EditText)findViewById(R.id.text);

R.id.text
是参数,但是
(EditText)
前缀是什么?它是做什么的?

这就是在Java中转换对象的方式。通常,如果一个方法声明返回一个常规类型,并且希望将返回对象用作一个更专门化的类型(并且您知道它实际上是这个专门化类型的一个实例),那么您可以这样做。例如,如果您有一个返回
对象
的方法,但您知道该对象实际上是一个
字符串
,并且希望将其用作
字符串
,则您可以:

String s = (String)myObj.doSomethingThatReturnsObject();
如果你不做演员,那就必须是

Object o = myObj.doSomethingThatReturnsObject();

这就是您在Java中转换对象的方式。通常,如果一个方法声明返回一个常规类型,并且希望将返回对象用作一个更专门化的类型(并且您知道它实际上是这个专门化类型的一个实例),那么您可以这样做。例如,如果您有一个返回
对象
的方法,但您知道该对象实际上是一个
字符串
,并且希望将其用作
字符串
,则您可以:

String s = (String)myObj.doSomethingThatReturnsObject();
如果你不做演员,那就必须是

Object o = myObj.doSomethingThatReturnsObject();

(EditText)prefix尝试在EditText类型中强制转换retrun对象(EditText)prefix尝试在EditText类型中强制转换retrun对象,它将方法的结果强制转换为EditText类。 这意味着您可以将其用作该类的对象,但如果返回的对象不是EditText实例或其派生类型,则将失败


因此,该方法可以返回接口引用,您可以将其强制转换为该接口的实现类,以便使用该接口上不可用的行为

它将方法的结果强制转换为EditText类。 这意味着您可以将其用作该类的对象,但如果返回的对象不是EditText实例或其派生类型,则将失败


因此,该方法可以返回接口引用,您可以将其强制转换为该接口的实现类,以便使用该接口上不可用的行为

这叫做铸造。看看这里,这叫铸造。看看这里