[英]Java compilation question regarding casting
如果我有两个彼此不相关的对象。 在以下情况下会发生什么:我们有:对象A,对象B
A a = new A();
B b = new B();
- a = b; \\会编译吗? 我会例外吗?
- a =(A)b; \\会编译吗? 之后-我会例外吗?
两者都不会编译,在第二种情况下,只有在编译器可以检查类型的情况下,因此,如果您首先通过Object,您将能够在运行时进行强制转换并获取异常
如果两个对象不相关,则您将无法将一个对象转换为另一个对象。 1.不会编译。 2.将编译,但在运行时将引发异常。
如果一个对象是从另一个对象继承的,则可以将一个对象转换为另一个对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.