无法理解用户定义类和Java中标准类的转换差异

Prashant Shilimkar

我搜索此内容时仍会感到困惑。

以下是铸造普通班的例子

public class Q {
  public static void main(String... str){
    Number b = 10;
    Integer i = (Integer)b; // Workes Fine
  }           
}

以下是用户定义的类的强制转换示例

class H{}

class I extends H{}

public class Q extends I{
   public static void main(String... str){
     I i = (I)new H(); //Show runtime java.lang.ClassCastException
   }           
}

以上是继承的示例。这样:

  1. 整数扩展数
  2. 我延伸H

为什么整数i =(Integer)b有效而我i =(I)new H()不可行?

叶夫根尼

因为new H()创建该类的一个对象H,它既不是I也不I子类,因此它不能被转换为I

尽管Number b在第一个例子一个Integer-有隐式new Integer(10)有(Number是一个抽象类),因此它可明显可以转换为Integer

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类变量的无法理解的行为

来自分类Dev

无法理解Calendar类的before函数

来自分类Dev

嵌套类-无法理解其功能

来自分类Dev

无法理解Rails中的基类

来自分类Dev

类变量的无法理解的行为

来自分类Dev

无法理解Calendar类的before函数

来自分类Dev

无法理解类 C++

来自分类Dev

无法理解Java语句的定义

来自分类Dev

无法理解Java语句的定义

来自分类Dev

无法理解宏定义(将常量编号广播到类指针)

来自分类Dev

无法理解ViewModels和Models之间的差异

来自分类Dev

java用户定义的类和对象

来自分类Dev

无法理解如何从setter和getters类中获取价值

来自分类Dev

java lang 类异常 - 无法转换从 c++ jni 对象回调返回的 java 向量<用户定义的 java 类>

来自分类Dev

无法理解如何在Android和Java中将整数转换为IP

来自分类Dev

无法理解已定义构造函数的Java语法

来自分类Dev

用户定义的Vector类的自动类型转换?

来自分类Dev

无法理解@EnableWebMvc和<annotation-driven />之间的行为差异

来自分类Dev

无法理解用于基本转换的OR

来自分类Dev

无法理解 Comparable<T> 转换

来自分类Dev

无法理解链接列表的定义

来自分类Dev

无法理解使用模板的函数定义

来自分类Dev

Java接口和类定义

来自分类Dev

理解 OO 类定义

来自分类Dev

无法理解让我们来看看C静态存储类的例子

来自分类Dev

重新使用类时出现问题/无法理解实例化

来自分类Dev

无法使用新的Firebase将类型'__NSDictionaryM'的值强制转换为自定义用户类

来自分类Dev

HQL无法理解一个类的属性,该属性是另一个类的集合

来自分类Dev

我无法理解的函数语法差异