微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么可以在Java接口方法上调用方法? [可比]

今天在AP计算机科学课上,我有这个代码
Comparable x = 45;
    Comparable y = 56;
    System.out.println(x.compareto(y));

这是有效的.它打印1(或-1,我忘了哪个),但可以比较它们.

我理解接口变量是指实现该接口的类的对象,但对我来说没有意义的是如何为接口变量分配一个整数,然后在其上调用一个方法.在这种情况下,什么对象是被调用的compareto()方法?什么都没有实例化!

解决方法

这称为 autoboxing,您的原始int类型自动包装到Integer实例中,该实例是一个对象,它实现了Comparable接口.

原文地址:https://www.jb51.cc/java/127202.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐