例如,以下是语法正确的代码
Double number = 10.0;
是否可以定义我自己的类,例如Price
Price myPrice = 10.0;
实际编译?
答案 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"
都会这样做(请注意,这些 )。