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

Java,声明一个抽象类类型的变量比声明一个子类类型的变量有什么好处?

如何解决Java,声明一个抽象类类型的变量比声明一个子类类型的变量有什么好处?

假设有两类,一类是abstract class Insect,另一类是class Beetle extends Insect

因此,在实例化main中的Beetle对象时,可以使用Insect beetle = new Beetle();Beetle beetle = new Beetle();

但是,如果您使用Insect beetle = new Beetle();实例化,则需要强制转换以使用子Beetle类中的方法和变量,而使用Beetle beetle = new Beetle();则能够使用父类和{{ 1}}类,无需强制转换。

所以只是想知道是否存在声明抽象类类型的变量优于声明子类类型的变量的情况?因为声明子类类型的变量似乎更易于使用。预先谢谢^^

解决方法

如果为扩展类(例如Beetle)提供一些通用行为实现,则为抽象类。

但是,如果Beetle具有并非在所有昆虫中都通用的属性,并且此属性放大了昆虫的通用实现,则可以将其添加到Beetle中。其他一些昆虫实现,可能/可能不具有类特定的属性。

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