首页 > 编程语言 >JAVA面向对象三大特征之继承

JAVA面向对象三大特征之继承

时间:2024-06-08 12:59:10浏览次数:14  
标签:JAVA 继承 子类 age class 面向对象 父类 public 三大

目录

1.继承概述

2.继承的格式 

3.继承的好处

3.1继承的使用时机

3.2注意

4. 继承中变量的访问特点

5.总结


1.继承概述

在继承中我们可以把类分为两种一种是父类一种是子类,子类在继承父类后会获得父类中的属性和方法,在父类中定义过的属性和方法,子类中不需要再写一遍,同时子类还可以额外追加属性和方法。

2.继承的格式 

1、Java中提供了一个关键字extends,用这个关键字,我们就可以让一个类和另一个类建立起继承关系

public class Student extends Person{}

2、student称为子类,person称为父类

3.继承的好处

1、有了继承后我们可以把多个子类中重复的代码抽取到父类中,提高代码的复用性

2、子类可以在父类的基础上,增加额外的功能,使子类的功能更强大

3.1继承的使用时机

通过上面的好处我们知道了我们可以在多个子类中存在重复的代码时使用继承,这也意味着我们不能盲目使用继承,子类和父类之间一定要存在着相同的共性,并且满足子类是父类的一种,这时候我们就可以使用继承来优化代码

3.2注意

Java是单继承,一个子类只能有一个父类,不能同时继承多个父类,但一个父类可以有多个子类。java允许多层继承,一个子类的父类还可以有父类,也就是子类可以有爷爷类。

public class Person{
    String name;
    int age;
    public void talk(){}
}

public class Student extends Person{
     public void study(){}
}

public class Teacher extends Person{
     public void teach(){}
}

1、上述代码中学生类和老师类继承了人类,学生和老师都属于是人,并且每个人都有年龄、名字和会说话的行为,所以我们可以考虑把这些人共有的属性和行为抽取到父类中。

2、而学习是只属于学生的行为,教是老师自己的行为,并不是每个人都会学习和教别人所以这两个方法不能抽取到父类中,我们可以理解为这俩个方法是对父类功能的扩展,是只属于子类的功能。

4. 继承中变量的访问特点

当我们用子类中的方法访问一个变量时会优先在子类局部范围找,如果没有就在子类成员范围找,最后在父类成员范围找。

​

public class Fu {
	public int age = 10;
}

public class Zi extends Fu {
    int age = 20;
	public void show() {
		int age = 30;
		System.out.println(age);
	}
}


​public class Test {
	public static void main(String[] args) {
		Zi z = new Zi();
		z.show();
	}
}

​

上述代码的结果为30 

​

public class Fu {
	public int age = 10;
}

public class Zi extends Fu {
    int age = 20;
	public void show() {
		System.out.println(age);
	}
}


​public class Test {
	public static void main(String[] args) {
		Zi z = new Zi();
		z.show();
	}
}

​

上述代码的结果为20

public class Fu {
	public int age = 10;
}

public class Zi extends Fu {
	public void show() {
		System.out.println(age);
	}
}


​public class Test {
	public static void main(String[] args) {
		Zi z = new Zi();
		z.show();
	}
}

上述代码的结果为10

5.总结

1、什么是继承,继承的好处?

        继承是面向对象的三大特征之一,可以让类和类之间产生父子的关系

        可以把多个子类中重复的代码抽取到父类中,子类可以直接使用,提高代码的复用性

2、继承后子类的特点?

        子类可以得到父类的属性和行为,在子类中不用编写代码可以直接使用

        子类可以在父类的基础上增加新的功能,使子类的功能更强大

标签:JAVA,继承,子类,age,class,面向对象,父类,public,三大
From: https://blog.csdn.net/weixin_65346668/article/details/139479132

相关文章

  • Java那些事儿 —— 写一篇妈妈也能看懂的Java学习笔记
    Java那些事儿——写一篇妈妈也能看懂的Java学习笔记小白也能看懂的Java学习笔记(因为我也是小白,所以写一点小白自己能看懂的东西)这本笔记包括但是不限于Java知识,(做开发没多久感觉自己忘记的差不多了,最近又看了几本书,心血来潮写一个笔记)写这个的目的意在自我复习,尽量让自......
  • JavaScript中的数据类型
    概要ECMAScript的类型一共分为两大类,值类型以及引用类型。值类型又称基础类型,具体如下:undefined未定义null空boolean布尔number数值string字符串symbol标记引用类型又称复杂类型Object(对象),具体如下:Object对象Function函数Array数组RegExp正则Date日期基......
  • 【Java笔记】第10章:接口
    前言1.接口的概念与定义2.接口的声明与语法3.接口的实现4.接口的继承5.接口的默认方法6.接口的静态方法7.接口的私有方法8.接口的作用9.接口与抽象类的区别10.接口在Java集合中的应用结语上期回顾:【Java笔记】第9章:三个修饰符个人主页:C_GUIQU归属专......
  • Java SpringBoot 如何使用 IdentityServer4 作为验证服务器学习笔记
    作者:https://www.cnblogs.com/BeautifulBoy1301/p/11193488.html https://github.com/Danni-Ke/SpringBootDemo  JavaSpringBoot如何使用IdentityServer4作为验证服务器学习笔记 这边记录下如何使用IdentityServer4作为JavaSpringBoot的认证服务器和令牌颁......
  • HTML,CSS,JavaScript实例——3D骰子,跨纬度蠕虫,动态登录表单。
    文章目录一、3D筛子1.HTML2.CSS二、跨纬度蠕虫1.HTML2.CSS3.JS三、动态登录表单1.HTML2.CSS一、3D筛子1.HTML<!--ringdivstartshere--><divclass="ring"><istyle="--clr:#00ff0a;"></i><istyle="--clr:#ff0057;">&l......
  • Web大学生网页作业成品——仿腾讯游戏官网网站设计与实现(HTML+CSS+JavaScript)
    ......
  • (Java微服务项目实战)预付卡支付系统技术架构-发卡平台交易管理模块系统设计
    加入知识星球从0到1完成3个大型项目(从需求->系统设计->开发->再到生产环境部署)1项目介绍通过预付卡系统项目实战,**开发和产品设计人员能够对整体支付业务做到深入理解,**掌握各技术栈具体的业务应用场景,大型企业级项目业务分析、系统设计、代码实现的核心流程。并掌握......
  • 【免费Web系列】JavaWeb实战项目案例七(项目结束)
        这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r  登录认证在前面的课程中,我们已经实现了部门管理、员工管理的基本功能,但是大家会发现,我们并没有登录,就直接访问到了Tlias智能学习辅助系统的后台。这是不安全的,所以我们今天的主题就是登录......
  • Java毕业设计-基于springboot开发的入校申报审批系统设计与实现-毕业论文(附毕设源代码
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求/流程分析3、系统功能结构三、系统实现展示1、用户信息管理2、入校申请管理3、公告类型管理4、公告信息管理四、毕设内容和源代码获取总结Java毕业设计-基于springboot开发的入校申报审......
  • JAVA计算机毕业设计基于的课程实验预约系统(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:在当今教育环境中,实验教学是培养学生实践能力和科学素养的重要环节。然而,随着学生人数的增加和实验教学资源的有限性,实验预约和管理变得愈发复杂。传......