Java 将对象强制转换到任何接口中?
我有一个名为Java 将对象强制转换到任何接口中?,java,object,interface,casting,classcastexception,Java,Object,Interface,Casting,Classcastexception,我有一个名为MyInterface的接口和一个未由MyInterface实现的类MyClass interface MyInterface { } class MyClass{ } 如果我创建了MyClass的实例,编译器允许将其转换为MyInterface。我知道它会在运行时抛出ClassCastException。但是为什么编译器允许强制转换呢?因为你告诉编译器,通过使用(MyInterface)你明确地说“我知道我在做什么,毫无疑问地强制转换”(实际上编译器发出警告)接口不像Java那
MyInterface
的接口和一个未由MyInterface
实现的类MyClass
interface MyInterface {
}
class MyClass{
}
如果我创建了
MyClass
的实例,编译器允许将其转换为MyInterface
。我知道它会在运行时抛出ClassCastException
。但是为什么编译器允许强制转换呢?因为你告诉编译器,通过使用(MyInterface)
你明确地说“我知道我在做什么,毫无疑问地强制转换”(实际上编译器发出警告)接口不像Java那样实现类,它在规范中。