是否可以在java中定义使用原语的自定义类型?

时间:2011-06-24 07:38:22

标签: java primitive-types

例如,以下是语法正确的代码

Double number = 10.0;

是否可以定义我自己的类,例如Price

Price myPrice = 10.0;

实际编译?

4 个答案:

答案 0 :(得分:7)

自动装箱和自动装箱仅适用于基元。您正在谈论的概念类似于C ++转换。不幸的是,Java中没有这样的东西。你能做的最好的就是

Price myPrice = new Price(10.0);

答案 1 :(得分:2)

不,您无法为数字量定义自己的基元类型。

声明Price myPrice意味着变量myPrice将是Price类型并将用作其实例。

您可以拥有以下有效权。

假设您声明类型为myPrice的变量Price。可以通过myPrice引用访问某些实例变量。

Price myPrice = new Price();
myPrice.value = 10.0;
myPrice.currency = "Dollar"; 
etc ....

答案 2 :(得分:0)

你不能扩展Double课程,因为它是最终的。

但是你可以扩展Number类并实现Comparable接口 - 实际的Double class is created

答案 3 :(得分:0)

没有。它与语言紧密相连。

只有基元可以在没有new关键字的情况下实例化,除了String,虽然不是基元,但可以使用基元语法进行分配。即new String("foo")"foo"都会这样做(请注意,这些 )。