【零基础学Java】—】继承的概述(十九)

一、面向对象的三大特征

  • 面向对象的三大特征:封装性,继承性,多态性
  • 继承是多态的前提,如果没有继承,就没有多态
  • 继承解决的主要问题就是:共性抽取

继承关系的特点:

  • 子类可以拥有父类的内容
  • 子类可以拥有自己专有的内容


二、继承的格式

  • 在继承的关系中,子类就是一个父类,也就是说,子类可以被当做父类看待
  • 例如:父类是员工,子类是讲师,那么讲师就是一个员工
定义父类的格式:(一个普通类的定义)
public class 父类名称{//....
}定义子类的格式:public class 子类名称 extends 父类名称 {//....
/*** @author :CaiCai* @date : 2022/4/9 13:38*/
public class Fu {int numFu=10;int num=20;public  void methodFu(){System.out.println(num);}
}

三、继承中成员变量访问的特点

在父类的继承关系中,如果成员变量重名,则创建子类对象时,对象有两种访问方式:

  • 直接通过子类访问成员变量( 等号左边是谁,就优先使用谁,没有则向上找)
  • 间接通过成员方法访问成员变量(该方法属于谁就优先用谁,没有就向上找)
public class Zi extends  Fu{int   numZi=20;int num=200;public  void methodZi(){System.out.println(num);}
}
public class Fu {int numFu=10;int num=20;public  void methodFu(){//因为本类当中System.out.println(num);}
}
/*** @author :CaiCai* @date : 2022/4/9 13:39*//*在父类的继承关系中,如果成员变量重名,则创建子类对象时,对象有两种访问方式:
直接通过子类访问成员变量( 等号左边是谁,就优先使用谁,没有则向上找)
间接通过成员方法访问成员变量(该方法属于谁就优先用谁,没有就向上找)*/
public class Demo01Extends {public static void main(String[] args) {Fu fu=new Fu();//创建父类对象System.out.println(fu.numFu);//10只能使用父类的东西Zi zi=new Zi();System.out.println(zi.numZi);//20System.out.println(zi.numFu);//10//等号左边是谁,就优先用谁System.out.println(zi.num);//200zi.methodZi();//200//这个方法是在父类中定义的zi.methodFu();//20}
}

四、区分子类方法中三种重名

  • 局部变量:直接写成员变量名
  • 本类的成员变量:this.成员变量名
  • 父类的成员变量:super.成员变量名

【零基础学Java】—继承的概述(十九)相关推荐

  1. 零基础学Java的10个方法

    2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文为北京尚学堂原创文章,未经允许不得转载.​ 零基础学Java只要方法得当,依然有机会学习好Java编程. 但作为 ...

  2. 【零基础学Java】—继承父类并实现多个接口(二十五)

    [零基础学Java]-继承父类并实现多个接口(二十五) 一.使用接口的注意事项 1️⃣接口是没有静态代码块或者构造方法的 2️⃣一个类的直接父类是唯一的,但是一个类可以同时实现多个接口 3️⃣如果实现 ...

  3. 【零基础学Java】—static关键字概述(十六)

    [零基础学Java]-static关键字概述(十六) 一.static关键字 二.static关键字修饰成员变量 /*** @author :CaiCai* @date : 2022/4/8 11:1 ...

  4. 【零基础学Java】—字符串的概述和特点(十五)

    [零基础学Java]-字符串的概述和特点(十五) 一.字符串的特点 java.lang.String类代表字符串 API当中说:Java程序中的所有字符串字面值(如:"abc")都 ...

  5. 【零基础学Java】—ArrayList集合概述和基本使用(十四)

    [零基础学Java]-ArrayList集合概述和基本使用(十四) 一.什么是ArrayList类以及注意事项 java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元素,此 ...

  6. 【零基础学Java】—Random的基本概述和使用(十二)

    [零基础学Java]-Random的基本概述和使用(十二) Random类用来生成随机的数字,使用起来也是三个步骤 导包:import java.util.Random; 创建:Random r=ne ...

  7. 【零基础学Java】—自定义异常(四十八)

    [零基础学Java]-自定义异常(四十八) 自定义异常类:java提供的异常类,不够我们使用,需要自己定义一个异常类 格式: public class XXXException extends Exc ...

  8. 【零基础学Java】—重写(二十)

    [零基础学Java]-重写(二十) 一.重写和重载 重写(Override):在继承关系当中,方法的名称一样,参数列表一样.重写又称为方法的覆盖.覆写. 重载(Overload):方法的名称一样,参数 ...

  9. 【零基础学Java】—Socket类(五十五)

    [零基础学Java]-Socket类(五十五) Socket类:该类实现客户端套接字,套接字是指两台设备之间通讯的端点. 在Java中,提供了两个类用于实现TCP通信程序 客户端:java.net.S ...

最新文章

  1. 全球20大智慧城市排行榜揭晓:无锡列中国第一,银川、杭州上榜!
  2. CSS中绝对定位依据谁进行定位?
  3. MySQL导入导出命令
  4. 中国新能源商用车行业投资现状及前景规划分析报告2022-2027年版
  5. CodeProject上的最近几篇关于IronPython技术的文章
  6. LeetCode MySQL 1341. 电影评分
  7. oracle 视图及函数授权,Oracle常见1000问之内部函数及管理视图
  8. Hadoop伪分布安装详解(四)
  9. python Multiprocessing Pool 应用
  10. 深入V8引擎-Time核心方法之mac篇
  11. Bailian4047 全排列【全排列】
  12. 理解Twisted与非阻塞编程
  13. 10个经典Python爬虫入门实例!你还不知道吗
  14. 哨兵系列卫星_美国宇航局 quot;哨兵6quot;海平面与气候观测卫星发射任务将于11月进行...
  15. 解决方案:微信小程序下载文档出错downloadFile:fail url not in domain list
  16. 100行代码搞定Python做OCR识别身份证,文字各种字体!
  17. 每周分享第 37 期
  18. Git 新建分支和Commit Message 规范和最佳实践
  19. 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例
  20. C#编程基础——综合项目实践:KTV点歌系统项目第九课:制作歌曲排行窗体

热门文章

  1. zabbix应用之discovery批量添加主机并实现自定义主机名
  2. 《PHP和MySQL Web开发从新手到高手(第5版)》一一1.7 万事俱备,摩拳擦掌
  3. Android实用笔记——使用ViewFlipper实现屏幕切换动画
  4. 【java虚拟机系列】JVM类加载器与ClassNotFoundException和NoClassDefFoundError
  5. python 发布自定义模块(图文诠释)
  6. OpenStack 开放云平台
  7. JavaNIO编程基础-图解JavaNIO内存模型
  8. excek快速删除指定行
  9. 引物设计软件primer_PCR-引物设计原则
  10. Spring-基础设施类