这个Java构造意味着什么-一个类对象=(一个类)另一个对象;

这个Java构造意味着什么-一个类对象=(一个类)另一个对象;,java,Java,很抱歉这个可怕的问题,我不知道该怎么描述 我天生就是一个PHPer,我目前正在研究一些java,并且遇到了这一部分。第一行是上下文,我感兴趣的是以QuotaKey开头的那行 Key key = Keys.getKeyInstance( Keys.getKeyClass( cond.getKey( ) ) ); QuotaKey quotaKey = ( QuotaKey ) key; 这是一个演员阵容,将键转换为QuotaKey 这是一个演员阵容,将键转换为QuotaKey 这是演员阵

很抱歉这个可怕的问题,我不知道该怎么描述

我天生就是一个PHPer,我目前正在研究一些java,并且遇到了这一部分。第一行是上下文,我感兴趣的是以QuotaKey开头的那行

Key key = Keys.getKeyInstance( Keys.getKeyClass( cond.getKey( ) ) );  
QuotaKey quotaKey = ( QuotaKey ) key;

这是一个演员阵容,将
转换为
QuotaKey


这是一个演员阵容,将
转换为
QuotaKey


这是演员阵容。它将密钥类型强制转换为引号

这是演员阵容。它将密钥类型强制转换为引号

您所看到的被称为类型转换(在这个特殊情况下是向下转换),它只是使用类型为
QuotaKey
的变量,引用类型为
Key
,我假设它是
QuotaKey
的超类或超接口,您所看到的被称为类型转换(在这种特殊情况下,向下广播),它只是使用类型为
QuotaKey
的变量,引用类型为
Key
,我假设它是
QuotaKey

的超类或超接口,假设
QuotaKey
Key
的子类,您将看到一个cast操作符,它将类型为
Key
的变量转换为
QuotaKey
类型的变量。您可以更简洁地编写相同的片段,而无需临时变量:

QuotaKey quotaKey = (QuotaKey)Keys.getKeyInstance(Keys.getKeyClass(cond.getKey()));

此操作在将其类型强制为子类之前检查
键的类型是否正确,并在失败时导致
ClassCastException
。最好尽量减少程序中此类强制转换的数量,因为在编译时无法可靠地检查它们的有效性。

假设
QuotaKey
Key
的子类,您正在查看一个cast运算符,该运算符将
Key
类型的变量转换为
QuotaKey
类型的变量。您可以更简洁地编写相同的片段,而无需临时变量:

QuotaKey quotaKey = (QuotaKey)Keys.getKeyInstance(Keys.getKeyClass(cond.getKey()));

此操作在将其类型强制为子类之前检查
键的类型是否正确,并在失败时导致
ClassCastException
。最好尽量减少程序中此类强制转换的数量,因为在编译时无法可靠地检查它们的有效性。

为什么否决?似乎是合法的对我来说,伴侣和诚实的问题。如果有人能给我一个更好的标题,或者提问一些对别人有用的词语,我会很高兴地修正为什么反对票?对我来说,这似乎是一个合法和诚实的问题。如果有人能给我一个更好的标题,或者提问一些对别人有用的词语,我会很高兴地修正汉克斯,事后来看,这是盲目的反对ous。我在看更复杂的东西。谢谢,事后来看,这是非常明显的。我在看更复杂的东西。