2017-01-23 45 views
-4

我的问题是关于java中继承的优点。如果通过创建包可以完成同样的事情,那么继承的用途是什么?

所有一类的属性可以被另一个类,如果这两个类都在同一个包进行访问,那么什么在继承是特殊的? 继承也做同样的事情,对吧?

在此先感谢。

+3

没有,包和继承不这样做同样的实例 - 甚至类似的东西。 *“虽然一个类可以被另一个类扩展,如果两个类都属于同一个包”*或者它们不在同一个包中。他们在同一个包中与一个班级是否可以扩展另一个班级无关。我建议您在Java书籍和/或教程中进一步阅读继承和封装,以便更深入地了解它们。 –

+0

java中的继承是一种机制,其中一个对象获取父对象的所有属性和行为。 “落后于Java继承的想法是,你可以创建基于现有的类建立新类。当你从现有的类继承,你可以重复使用的方法和父类的字段,你可以添加新的方法和字段也“。 这是在没有继承的情况下完成的。这是我的困惑。我认为有人会清除它 –

+0

它并没有获得父对象的所有属性和行为。它获取父类的属性和行为。 – tempoc

回答

1

所有一类的属性可以由另一个类,如果这两个类在同一包中

错误访问。仅当涉及的属性受软件包保护(非公共,受保护或私有)时才是如此。支配这一点的主题是封装,而不是继承。 Java中的封装使您可以设置对象可以从其他对象访问属性的规则。这些规则大部分与继承无关。

那么什么在继承是特殊的?继承也做同样的事情,对吧?

错了。Inheritance是完全不同的主题。它描述了子类如何利用父类提供的模式。当B类从A继承据说B的所有实例都A的情况下,不保证A的实例也是B.

相关问题