欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
相关标签: 继承