栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java小白入门200例80之Java继承(extends)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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();
	}
}

运行结果:

张三在吃饭
张三在睡觉

优点
  1. 实现代码共享,减少创建类的工作量,使子类可以拥有父类的方法和属性。
  2. 提高代码维护性和可重用性。
  3. 提高代码的可扩展性,更好的实现父类的方法。
小结

这节总结了“ Java继承(extends) ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  79.Java类的封装
►下一篇  81.Java接口

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.Javascript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号