java之面向对象之继承
程序员文章站
2022-03-08 20:23:16
...
继承
想必大家都知道面向对象有三大特性:
继承
封装
多态
今天我们就来学习学习继承。
什么是继承呢?
打个比方继承就将您父母的家产转到您的名下,这就是现实中比较通俗的继承。
那么java中的继承是干什么的呢
比如有一个动物类,然后有一个猫类。动物是可以有年龄和姓名的,猫也是。那么猫就可以继承动物类
代码如下:
class Animal{
String name;
int age;
}
class Cat extends Animal{
}
// 使用extends关键字
这就是一个很简单的继承。
那么我们为什么要使用继承呢,继承有什么好处呢?
1.减少代码量
2.提高工作效率
3.增强代码的复用性
那继承有什么特点呢?
继承的特点:
1.继承链
2.继承有传递性
3.继承 属性 和 行为
4.建立类与类之间的关系(继承关系)
而且java中的继承都是单继承的。
就是说extends后面只能有一个类
那为什么不用多继承呢?
若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清,因此用了单继承。
Tips:构造方法是不能继承的,因此每写一个继承的类时,最好将无参和有参构造方法重写一下。而且为了保证子类的完整性,创建对象的时候会默认调用父类的无参构造方法。
方法重写
方法的重写(Override)
前提:类与类之间必须建立继承的关系
作用:相当于对原方法功能上的一个提升
写法:方法和父类的完全一致
class Test1{
public void fun() {
System.out.println("i am test1's fun");
}
}
class Test2 extends Test1{
// 重写fun方法
@Override
public void fun() {
/*
* 可以在重写方法中 调用父类的原方法
* 可以让功能进行升级
*/
super.fun();
System.out.println("i am test2's fun");
}
}
有继承关系才能重写,且写法要一致
final修饰符
特点
1.修饰变量 变量不能更改 (相当于吧变量变成了常量)
2.修饰方法 方法不能被重写
3.修饰类 类不能被继承
// 因此可以用final定义静态常量
public static final int MAX_VALUE = 10;
上一篇: 保护继承与私有继承
下一篇: Illustrator巧制漂亮的透明按钮