目录
一、写在前面
今天就来总结一下JAVA中方法的声明及使用,即继承、多态、封装。其实关于三大特性对于学习JAVA的同学来说都是基本的了,毕竟只要接触Java这些都是先要认识的,接下来就系统总结一下。
二、继承
先来说说继承,所谓继承本质就是实现代码的复用,防止重复的代码多次书写,当一个类继承一个类的时候,该类中就会拥有另外一个类中的所有代码
2.1 继承的注意事项
只支持单继承,即一个子类只允许有一个父类,但是可以实现多级继承,及子类拥有唯一的父类,而父类还可以再继承。
子类可以拥有父类的属性和方法。
子类可以拥有自己的属性和方法。
子类可以重写覆盖父类的方法。
2.2 继承的特点
- 提高代码复用性。
- 父类的属性方法可以用于子类。
- 可以轻松的定义子类。
- 使设计应用程序变得简单。
2.3 继承的使用
1,在父子类关系继承中,如果成员变量重名,则创建子类对象时,访问有两种方式。
a:直接通过子类对象访问成员变量
List item
等号左边是谁,就优先使用谁,如果没有就向上找。
b:间接通过成员方法访问成员变量
该方法属于谁,谁就优先使用,如果没有就向上找。
public class FU {
int numFU = 10;
int num = 100;
public void method(){
System.out.println("父类成员变量:"+numFU);
}
public void methodFU(){
System.out.println("父类成员方法!");
}
}
public class Zi extends FU{
int numZi = 20;
int num = 200;
public void method(){
System.out.println("子类成员变量:"+numFU);
}
public void methodZi(){
System.out.println("子类方法!");
}
}
public class ExtendDemo {
public static void main(String[] args) {
FU fu = new FU();
// 父类的实体对象只能调用父类的成员变量
System.out.println("父类:" + fu.numFU); // 结果:10
Zi zi = new Zi();
System.out.println("调用父类:" + zi.numFU); // 结果:10
System.out.println("子类:" + zi.numZi); // 结果:20
/** 输出结果为200,证明在重名情况下,如果子类中存在则优先使用,
* 如果不存在则去父类查找,但如果父类也没有那么编译期就会报错。
*/
System.out.println(zi.num); // 结果:200
/**
* 通过成员方法调用成员变量
*/
zi.method(); // 结果:10
}
}
2,同理:
成员方法也是一样的,创建的对象是谁,就优先使用谁,如果没有则直接向上找。