[英]Is it possible to define custom types in java that work with primitives?
例如,以下是语法正确的代码
Double number = 10.0;
是否可以定义我自己的类,如Price
Price myPrice = 10.0;
实际编译?
自动装箱和自动拆箱仅适用于基元。 您正在谈论的概念类似于C ++转换。 不幸的是,Java中没有这样的东西。 你能做的最好的就是
Price myPrice = new Price(10.0);
不,您无法为数字量定义自己的基元类型。
声明Price myPrice
意味着变量myPrice将是Price类型并将用作其实例。
您可以拥有以下有效权。
假设你声明变量myPrice
类型的Price
。 可以通过myPrice
引用访问某些实例变量。
Price myPrice = new Price();
myPrice.value = 10.0;
myPrice.currency = "Dollar";
etc ....
你不能扩展Double
类,因为它是最终的。
但是你可以扩展Number
类并实现Comparable
接口 - 实际创建Double类的方式。
不,它与语言紧密相连。
只有原语可以在没有new
关键字的情况下被实例化,除了String
,虽然不是原语,但可以使用原语语法来分配。 即new String("foo")
和"foo"
都会这样做(请注意,这些并不完全相同 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.