Java小白入门200例82之Java实现多继承
Posted 编程界明世隐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例82之Java实现多继承相关的知识,希望对你有一定的参考价值。
作者简介
作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!
引言
很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 81.Java接口
►下一篇 83.Java super关键字详解
概述
Java是单继承的, Java 不支持多继承,只允许一个类直接继承另一个类,即子类只能有一个直接父类,extends 关键字后面只能有一个类名。
一个类只能有一个直接父类,但是它可以有多个间接的父类。我们可以利用这个点来实现多继承。
通过extends间接继承来实现多继承
People 类
package demo.demo82;
/*
* 父类
*/
public class People {
// 属性用private
private String name; // 姓名
private int age; // 年龄
private String sex; // 性别
private String phone; // 联系电话
// 构造方法
public People(String name, int age, String sex, String phone) {
this.name = name;
this.age = age;
this.sex = sex;
this.phone = phone;
}
// 吃饭
public void eat() {
System.out.println(name + "在吃饭");
}
// 睡觉
public void sleep() {
System.out.println(name + "在睡觉");
}
}
Student 类
package demo.demo82;
/*
* 学生类
*/
public class Student extends People{
//属性用private
private String sNo; //学号
//构造方法
public Student(String name,int age,String sex,String phone,String sNo){
super(name,age,sex,phone);
this.sNo=sNo;
}
//学习方法
public void learn(){
System.out.println(sNo+"号学生在学习知识");
}
}
MiddleStudent 类
package demo.demo82;
/*
* 中学生类
*/
public class MiddleStudent extends Student{
//属性用private
private String sNo; //学号
//构造方法
public MiddleStudent(String name,int age,String sex,String phone,String sNo){
super(name,age,sex,phone,sNo);
}
}
测试类
package demo.demo82;
public class Test {
public static void main(String[] args) {
MiddleStudent midStudent = new MiddleStudent("张三",16,"男","13812345678","001");
midStudent.eat();
midStudent.sleep();
midStudent.learn();
}
}
运行结果:
张三在吃饭
张三在睡觉
001号学生在学习知识
通过implements 来实现多继承
A接口
package demo.demo82;
public interface A {
public void eat();
public void sleep();
}
B接口
package demo.demo82;
public interface B {
public void show();
}
C类实现这两个接口
package demo.demo82;
public class C implements A,B {
@Override
public void show() {
System.out.println("show");
}
@Override
public void eat() {
System.out.println("eat");
}
@Override
public void sleep() {
System.out.println("sleep");
}
}
利用extends和implements实现多继承
D类
package demo.demo82;
public class D {
public void hahaha() {
System.out.println("hahaha");
}
}
改造上一个实例的C类,让它也extends D类
package demo.demo82;
public class C extends D implements A,B {
@Override
public void show() {
System.out.println("show");
}
@Override
public void eat() {
System.out.println("eat");
}
@Override
public void sleep() {
System.out.println("sleep");
}
public static void main(String[] args) {
C c = new C();
c.show();
c.eat();
c.sleep();
c.hahaha();
}
}
运行:
show
eat
sleep
hahaha
这种也是经常在开发中常常用到的方案 extends和implements 并用。
小结
这节总结了“ Java实现多继承 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 81.Java接口
►下一篇 83.Java super关键字详解
热门专栏推荐
1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java
以上是关于Java小白入门200例82之Java实现多继承的主要内容,如果未能解决你的问题,请参考以下文章
Java小白入门200例105之Java ArrayList类