前言
在学习java中,可以发现不管学习的方法、数组、集合还是继承与多态。其实就是为了写代码更加简单与高效!从最初的notepad到IDEA的编程工具;从“Hello World”再到编写项目;从基本数据类型变量赋值再到如今的多态!无不体现java在面临大量代码如何做到更加简单、高效与充满逻辑的编程语言。今天辉仔就带大家跟我一起复习继承。
【继承】
继承是JAVA编程的基石。他允许创建分等级的类。
继承就是子类继承父类的属性和行为
假如 兔子是动物,狗是动物,猫是动物,猴子也是动物。他们都有吃饭、扑食技能共同的行为。都是动物的行为。所以具体的动物是子类,笼统的动物是父类。但是不同的子类带有父类的共同属性,也带有自己独特的属性行为。
所以父类是从下往上,从每一个子类寻找共同的属性与行为。总结出来的父类。是IS-a的关系。
一、继承的格式
JAVA中可以用extends声明一个类是从另一个类继承过来。
class 父类 {
}
class 子类 extends 父类 {
}
继承的好处:继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员(子类拥有父类的私有成员,只是不能访问!)
代码实例:
public class Fu {
public void show() {
System.out.println("show方法被调用");
}
}
public class Zi extends Fu {
public void method() {
System.out.println("method方法被调用");
}
}
public class Demo {
public static void main(String[] args) {
//创建对象,调用方法
Fu f = new Fu();
f.show();
Zi z = new Zi();
z.method();
z.show();
}
}
二、继承的变量访问特点
就近原则:
1.子类局部范围 2.子类成员范围内找 3.父类成员范围内找
4.如果没有就报错
实例代码:
class Fu {
int num = 10;
}
class Zi {
int num = 20;
public void show(){
int num = 30;
System.out.println(num);
}
}
public class Demo1 {
public static void main(String[] args) {
Zi z = new Zi();
z.show(); // 输出show方法中的局部变量30
}
}
三、super关键字
super:代表父类存储空间的标识(可以理解为父类对象引用)
成员变量:
super.成员变量 - 访问父类成员变量
成员方法:
super.成员方法 - 访问父类成员方法
构造方法:
super(…) - 访问父类构造方法
PS:如果没有super,子类会默认访问父类的无参构造方法。