【零基础学Java】—继承的概述(十九)
【零基础学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】—继承的概述(十九)相关推荐
- 零基础学Java的10个方法
2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文为北京尚学堂原创文章,未经允许不得转载. 零基础学Java只要方法得当,依然有机会学习好Java编程. 但作为 ...
- 【零基础学Java】—继承父类并实现多个接口(二十五)
[零基础学Java]-继承父类并实现多个接口(二十五) 一.使用接口的注意事项 1️⃣接口是没有静态代码块或者构造方法的 2️⃣一个类的直接父类是唯一的,但是一个类可以同时实现多个接口 3️⃣如果实现 ...
- 【零基础学Java】—static关键字概述(十六)
[零基础学Java]-static关键字概述(十六) 一.static关键字 二.static关键字修饰成员变量 /*** @author :CaiCai* @date : 2022/4/8 11:1 ...
- 【零基础学Java】—字符串的概述和特点(十五)
[零基础学Java]-字符串的概述和特点(十五) 一.字符串的特点 java.lang.String类代表字符串 API当中说:Java程序中的所有字符串字面值(如:"abc")都 ...
- 【零基础学Java】—ArrayList集合概述和基本使用(十四)
[零基础学Java]-ArrayList集合概述和基本使用(十四) 一.什么是ArrayList类以及注意事项 java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元素,此 ...
- 【零基础学Java】—Random的基本概述和使用(十二)
[零基础学Java]-Random的基本概述和使用(十二) Random类用来生成随机的数字,使用起来也是三个步骤 导包:import java.util.Random; 创建:Random r=ne ...
- 【零基础学Java】—自定义异常(四十八)
[零基础学Java]-自定义异常(四十八) 自定义异常类:java提供的异常类,不够我们使用,需要自己定义一个异常类 格式: public class XXXException extends Exc ...
- 【零基础学Java】—重写(二十)
[零基础学Java]-重写(二十) 一.重写和重载 重写(Override):在继承关系当中,方法的名称一样,参数列表一样.重写又称为方法的覆盖.覆写. 重载(Overload):方法的名称一样,参数 ...
- 【零基础学Java】—Socket类(五十五)
[零基础学Java]-Socket类(五十五) Socket类:该类实现客户端套接字,套接字是指两台设备之间通讯的端点. 在Java中,提供了两个类用于实现TCP通信程序 客户端:java.net.S ...
最新文章
- 全球20大智慧城市排行榜揭晓:无锡列中国第一,银川、杭州上榜!
- CSS中绝对定位依据谁进行定位?
- MySQL导入导出命令
- 中国新能源商用车行业投资现状及前景规划分析报告2022-2027年版
- CodeProject上的最近几篇关于IronPython技术的文章
- LeetCode MySQL 1341. 电影评分
- oracle 视图及函数授权,Oracle常见1000问之内部函数及管理视图
- Hadoop伪分布安装详解(四)
- python Multiprocessing Pool 应用
- 深入V8引擎-Time核心方法之mac篇
- Bailian4047 全排列【全排列】
- 理解Twisted与非阻塞编程
- 10个经典Python爬虫入门实例!你还不知道吗
- 哨兵系列卫星_美国宇航局 quot;哨兵6quot;海平面与气候观测卫星发射任务将于11月进行...
- 解决方案:微信小程序下载文档出错downloadFile:fail url not in domain list
- 100行代码搞定Python做OCR识别身份证,文字各种字体!
- 每周分享第 37 期
- Git 新建分支和Commit Message 规范和最佳实践
- 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例
- C#编程基础——综合项目实践:KTV点歌系统项目第九课:制作歌曲排行窗体
热门文章
- zabbix应用之discovery批量添加主机并实现自定义主机名
- 《PHP和MySQL Web开发从新手到高手(第5版)》一一1.7 万事俱备,摩拳擦掌
- Android实用笔记——使用ViewFlipper实现屏幕切换动画
- 【java虚拟机系列】JVM类加载器与ClassNotFoundException和NoClassDefFoundError
- python 发布自定义模块(图文诠释)
- OpenStack 开放云平台
- JavaNIO编程基础-图解JavaNIO内存模型
- excek快速删除指定行
- 引物设计软件primer_PCR-引物设计原则
- Spring-基础设施类