文章目录
前言
一说到继承,往往想到,子嗣继承长辈的家产。长辈的家产一分不少的继承给子嗣,子嗣又有额外的财富,额外的财富变成了家产的一部分,就这样一代代的继承,家族的财富越滚越大。java中“继承”的使用也是一样的。
一、继承是什么?
继承,是一种类与类之间的传承关系,父类的属性和方法都会传承给子类,子类可以直接调用,根据需要,补充新的属性和方法,或者复写父类的属性和方法。但是,子类不能继承父类中private标记的对象。
父类:类似于父亲的存在。 子类:类似于儿子的存在。
复写:指在子类中更改父类的属性和方法(父类中使用,仍是未更改的属性方法,但从子类开始,调用的都是更改过的)
//子类:我做了一个违背祖宗的决定
注:一个子类只继承一个父类的属性和方法,吕布认贼作父的手段在java中是不适用的。
只能B类继承A类,C类继承B类,像一个家族一样,世世代代继承下来。
二、使用方法
1.关键字
(1)extends 关键字:子类继承父类的属性和方法
语法: Chlid extends Parents
public class Child extends Parents{
//Child类继承Parents类的属性和方法
......
}
(2)super 关键字:解决子类复写父类方法,无法调用父类本有方法的问题
语法:super.property; //调用父类原本属性
super.method(); //调用父类原本方法
public class Child extends Parents{
super(); //调用父类的全部方法
super.action(); //调用了父类某个方法
super.attribute; //调用了父类某个属性
}
2.实操展示
情景展示:企业A,生产了台式电脑,做好了出厂化代码,随着企业的做大,开拓了ipad产品,ipad出厂化代码,需要在电脑初始化代码的基础上,进行额外的删改。
台式电脑的出厂化代码:
import java.util.Scanner;
public class computer {
Scanner sc=new Scanner(System.in);
String ip="ip属地:河北";
//父类属性
void startUp() {
System.out.println("电脑正在开机,请稍等...");
//父类成员方法
}
void openMachine() {
System.out.println("请输入ping:");
int ping=sc.nextInt();
if(ping==888888) {
System.out.println(sayHellow());
//输出sayHellow()方法的返回值
}else {
System.out.println("密码错误,请重新输入");
openMachine();
//继续运行openMachine()方法
}
//父类成员方法
}
String sayHellow() {
return "Welcome";
//父类成员方法
}
public static void main(String[] args) {
computer c=new computer();
c.startUp();
System.out.println(c.ip);
c.openMachine();
}
}
输出结果:
ipad的出厂化代码(继承了台式电脑的代码):
public class ipad extends computer{
String electricQuantity="电量:20%";
//根据实际需要,补充子类的属性
void open5G() {
System.out.println("提醒:已连接5G网络");
//根据业务需要,补充子类的方法
}
void startUp() {
System.out.println("ipad正在开机,请等待...");
//复写computer父类的startUp方法
}
String sayHellow() {
return super.sayHellow()+" to use ipad.";
//调用父类原本方法,并加以改造
}
public static void main(String[] args) {
ipad i=new ipad();
i.startUp();
//调用子类改写完父类的方法
System.out.println(i.ip);
//调用父类的属性
System.out.println(i.electricQuantity);
//调用子类的属性
i.openMachine();
//调用父类的方法,并且运行中的sayHellow()方法是子类改造后的方法
i.open5G();
//调用子类额外需要的方法
}
}
输出结果:
总结
以上就是本文讲的内容,本文简单介绍了继承的含义,extends关键字方便了我们快速便捷地处理类与类之间的代码调用,极大减轻了重复造轮子的压力。