Java小白入门200例80之Java继承(extends)
Posted 编程界明世隐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例80之Java继承(extends)相关的知识,希望对你有一定的参考价值。
作者简介
作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!
引言
很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 79.Java类的封装
►下一篇 81.Java接口
概述
继承是面向对象的三大特征之一。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
类的继承格式
class 父类 {
}
class 子类 extends 父类 {
}
为什么要用继承
有两个类,学生和老师,他们有很多共同的东西,比如姓名、年龄、性别、电话等属性,还有吃饭、睡觉等共同的方法。
也有些不同的东西,比如学生就有学生号、老师有老师号(就简单写一个)
学生类
package demo.demo80;
/*
* 学生类
*/
public class Student {
//属性用private
private String name; // 姓名
private int age; // 年龄
private String sex; // 性别
private String phone; // 联系电话
private String sNo; //学号
//构造方法
public Student(String name,int age,String sex,String phone,String sNo){
this.name=name;
this.age=age;
this.sex=sex;
this.phone=phone;
this.sNo=sNo;
}
//吃饭
public void eat(){
System.out.println(name+"在吃饭");
}
//睡觉
public void sleep(){
System.out.println(name+"在睡觉");
}
}
老师类
package demo.demo80;
/*
* 老师类
*/
public class Teacher {
// 属性用private
private String name; // 姓名
private int age; // 年龄
private String sex; // 性别
private String phone; // 联系电话
private String tNo; //教师号
// 构造方法
public Teacher(String name, int age, String sex, String phone,String tNo) {
this.name = name;
this.age = age;
this.sex = sex;
this.phone = phone;
this.tNo = tNo;
}
// 吃饭
public void eat() {
System.out.println(name + "在吃饭");
}
// 睡觉
public void sleep() {
System.out.println(name + "在睡觉");
}
}
从这两段代码可以看出来,代码存在重复了,导致后果就是代码量大且臃肿。
设计People类
将学生类Student与老师类Teacher相同的东西抽取到People中
package demo.demo80;
/*
* 父类
*/
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 + "在睡觉");
}
}
继承至People类
学生类继承
package demo.demo80;
/*
* 学生类
*/
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;
}
}
老师类继承
package demo.demo80;
/*
* 老师类
*/
public class Teacher extends People{
// 属性用private
private String tNo; //教师号
//构造方法
public Teacher(String name,int age,String sex,String phone,String tNo){
super(name,age,sex,phone);
this.tNo=tNo;
}
}
测试一下
package demo.demo80;
public class Test {
public static void main(String[] args) {
Student student = new Student("张三",19,"男","13812345678","001");
student.eat();
student.sleep();
}
}
运行结果:
张三在吃饭
张三在睡觉
优点
- 实现代码共享,减少创建类的工作量,使子类可以拥有父类的方法和属性。
- 提高代码维护性和可重用性。
- 提高代码的可扩展性,更好的实现父类的方法。
小结
这节总结了“ Java继承(extends) ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 79.Java类的封装
►下一篇 81.Java接口
热门专栏推荐
1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java
以上是关于Java小白入门200例80之Java继承(extends)的主要内容,如果未能解决你的问题,请参考以下文章
Java小白入门200例105之Java ArrayList类