造型cast 是一种强制类型转换,不是一个methods
如果不能转换 ,会抛出一个异常。

解决方案 »

  1.   

    “造型”(Cast)的作用是“与一个模型匹配”。在适当的时候,Java会将一种数据类型自动转换成另一种。例如,假设我们为浮点变量分配一个整数值,计算机会将int自动转换成float。通过造型,我们可明确设置这种类型的转换,或者在一般没有可能进行的时候强迫它进行。
    为进行一次造型,要将括号中希望的数据类型(包括所有修改符)置于其他任何值的左侧。下面是一个例子:void casts() {
    int i = 200;
    long l = (long)i;
    long l2 = (long)200;
    }正如您看到的那样,既可对一个数值进行造型处理,亦可对一个变量进行造型处理。但在这儿展示的两种情况下,造型均是多余的,因为编译器在必要的时候会自动进行int值到long值的转换。当然,仍然可以设置一个造型,提醒自己留意,也使程序更清楚。在其他情况下,造型只有在代码编译时才显出重要性。
    在C和C++中,造型有时会让人头痛。在Java里,造型则是一种比较安全的操作。但是,若进行一种名为“缩小转换”(Narrowing Conversion)的操作(也就是说,脚本是能容纳更多信息的数据类型,将其转换成容量较小的类型),此时就可能面临信息丢失的危险。此时,编译器会强迫我们进行造型,就好象说:“这可能是一件危险的事情——如果您想让我不顾一切地做,那么对不起,请明确造型。”而对于“放大转换”(Widening conversion),则不必进行明确造型,因为新类型肯定能容纳原来类型的信息,不会造成任何信息的丢失。
      

  2.   

        谢谢,那如果我现在自己变了一个复数运算得类,如果我要将 int double float等都造型成这个复数,我该怎么办?
        我的意思是,造型 是怎么实现的?多谢了~~~
      

  3.   

    如果你要将一个整型造型成一个自己编的复数类,你必须将你的复数类继承于类Integer。然后用INTEGER类先将该整型数转换成对象Integer。这时你就可以使用该强制造型了。(另外,你必须有个构造函数,他的参数是一个整形类)你也可以写几个关于int ,double ,float作为参数的复数类构造方法,然后直接生成该类型的对象。