概述
# 继承
继承
# 1、类、超类&子类
Java
中使用extends
关键字表示继承
关键字extends
表明正在构造的新类派生于一个已存在的类。这个已存在的类称为超类(super class)
、基类(base class)
、或父类(parent class)
;新类称为子类(subclass)
、派生类(derived class)
或孩子类(child class)
。
超类并不优于子类或者比子类拥有更多的功能。实际上恰恰相反,子类比超类拥有更多的功能。
在扩展超累定义子类的时候,只需要指出子类与超类的不同之处。因此在设计类的时候,应该将最一般的方法放在超类中,而将更特殊的方法放在子类中,这种将通用功能抽取到超类的做法在面向对象程序设计中十分普遍。
# 2、覆盖方法
超类中的有些方法对子类并不一定适应。而我们是无法在子类中访问父类中的私有字段与方法的。我们可以借助super
关键字解决这个问题。
关键字this
有两个含义:一是指隐式参数的引用,二是调用该类的其它构造器。
关键字super
也有两个含义:一是调用超类的方法,二是调用超类的构造器。在调用构造器的时候this
关键字与super
关键字紧密相连。调用构造器的语句只能作为一个构造器的第一条语句出现。构造器参数可以传递给当前类(this
)的另一个构造器,也可以传递给超类的构造器(super
)。
一个对象变量可以指示多种实际类型的现象称为多态(polymorphism
)。在运行时能够自动地选择适当的方法,称为动态绑定(dunamic binding
)。
在覆盖一个方法的时候,子类方法的可见性不能低于超类方法的可见性。特别是,如果超类方法时public
,子类方法必须也要声明为public
。
# 3、阻止继承:final类和方法
有时候希望阻止人们利用某个类定义子类。不允许扩展的类被称为final
类。如果在定义类的时候也使用了final
修饰就表明这个类是final
类。
类中的某个特定方法也可以被声明为final
,如果这样做了,子类就不能覆盖这个方法。(final
类中的所有方法自动地成为final
方法)。
最后
以上就是平常花瓣为你收集整理的Java基础--继承的全部内容,希望文章能够帮你解决Java基础--继承所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复