一、继承
1.概念
继承是面向对象三大特征之一
- 可以使得子类具有
父类的属性和方法
- 可以在子类中
重新定义,追加属性和方法
2.格式
- 格式:
public class 子类名 extends 父类名{}
- 举例:
public calss Zi extends Fu{}
- Fu:
父类,也称为基类、超类
- Zi:
子类,也称为派生类
3.优点
- 提高了
代码的复用性(多个类相同的成员可以放到同一个类中)
- 提高了
代码的维护性(如果方法的代码需要修改,修改一处即可)
4.缺点
继承让类与类之间产生了关系
- 类的
耦合性增强了
- 当
父类发生变化时子类实现也不得不变化
- 削弱了
子类的独立性
二、代码
1.父类
package nsys.extendsStudy01;
/**
* @Author: nsys
* @Date: 2021-10-12 20:39
* @Description: 父类
*/
public class Fu {
public int age = 40;
}
2.子类
package nsys.extendsStudy01;
/**
* @Author: nsys
* @Date: 2021-10-12 20:40
* @Description: 子类
*/
public class Zi extends Fu{
public int height = 175;
public int age = 20;
public void show() {
int age = 30;
System.out.println(age);
System.out.println(height);
}
}
3.测试类
package nsys.extendsStudy01;
/**
* @Author: nsys
* @Date: 2021-10-12 20:41
* @Description: 测试类
*/
public class Demo {
public static void main(String[] args) {
/*
在子类方法中访问一个变量优先级:
-子类局部范围找
-子类成员范围找
-父类成员范围找
-如果都没有就报错(不考虑父亲的父亲)
*/
// 创建对象,调用方法
Zi z = new Zi();
z.show();
}
}