Java面向对象之什么是继承?
继承
- 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。
- extends的意思是“扩展”。子类是父类的扩展。
- Java中类只有单继承,没有多继承!即 一个儿子只能有一个爸爸,但是一个爸爸可以有多个儿子
- 继承是类与类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
- 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。
- 子类和父类之间,从意义上讲应该具有“is a”的关系。
- 私有的东西无法被继承
- object类
- super
- 方法重写
- 继承是多态的前提,如果没有继承,就没有多态。
- 继承主要解决的问题就是:共性抽取。
- 继承关系当中的特点:
1、子类可以拥有父类的“内容”。
2、子类还可以拥有自己专有的内容。
- 定义父类的格式:(一个普通的类定义)
public class 父类名称{
//.....
}
- 定义子类的格式:
public class 子类名称 extends 父类名称{
//.....
}
super

父类

super注意点:
- super调用父类的构造方法,必须在构造方法的第一个
- super 必须只能出现在子类的方法或者构造方法中
- super 和 this 不能同时调用构造方法!
this 与 super 的不同
- 代表的对象不同:
1、this:本身调用者这个对象,访问本类内容。
2、super:代表父类对象的应用,访问父类内容。
前提:this:没有继承也可以使用;super:只能在继承条件下才可以使用 - 构造方法
1、this();本类的构造
2、super();父类的构造
this的典型三种用法:
package OOP.Demo06;
/*
* super关键字用来访问父类内容,而this关键字用来访问本类的内容。用法有三种:
* 1、在本类的成员方法中,访问本类的成员变量。
* 2、在本类的成员方法中,访问本类的另一个成员方法。
* 3、在本类的构造方法中,访问本类的另一个构造方法。
* 在第三种方法中要注意:
* A、this(...)调用必须是构造方法的第一个语句,唯一一个。
* B、super和this两种构造调用,不能同时使用。
* */
public class Zi extends Fu{
int num = 20;
public Zi(){
this(123); //本类的无参构造,调用本类的有参构造
// this(1,2); //错误写法。必须是构造方法的第一个语句
}
public Zi(int n){
}
public Zi(int n,int m){
}
public void showNum(){
int num = 10;
System.out.println(num);//10,局部变量
System.out.println(this.num);//20,本类中的成员变量
System.out.println(super.num);//30,父类中的成员变量
}
public void methodA(){
System.out.println("AAA");
}
public void methodB(){
this.methodA();//在本类的成员方法中,访问本类的另一个成员方法。
System.out.println("BBB");
}
}
黑暗是现实,共舞是选择。
Java面向对象之什么是继承?的更多相关文章
- java面向对象三大特性之继承
通过重用已经测试并验证通过的代码,怎样才减少开发工作,所有开发团队都在为一问题而努力.一个久经考验的方法是通过有效地使用Java继承优化应用程序开发. 继承的从某种意义上讲,继承的短暂美就如同宇宙中所 ...
- Java面向对象(二、继承)
Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法 ...
- -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal
java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型 也就是 ...
- 深入理解Java面向对象三大特性 封装 继承 多态
1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...
- Java 面向对象,封装,继承
1相关概念的理解 1.1面向过程.面向对象 面向过程与面向对象都是编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.(职员思想) 面向 ...
- java面向对象(封装,继承,多态,抽象,接口的定义和实现)
1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...
- Java面向对象三大特点之继承
概念: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 生活中的继承: 兔子和羊属于食草动物类,狮子和豹属于食肉动物类 ...
- java面向对象的三大特性——继承
ul,ol { margin: 0; list-style: none; padding: 0 } a { text-decoration: none; color: inherit } * { ma ...
- Java面向对象的三大特性 继承
继承是类与类的一种关系,是“is a"关系 子类拥有父类的属性和方法,private除外 class 子类 extends 父类 方法的重写 调用方法时会优先调用子类的方法 重写时,返 ...
- Java 面向对象(四)继承
一.继承的概述(Inherited) 1.由来 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 其中,多个类可以称为 子类(派生类 ...
随机推荐
- LeetCode HOT 100:验证二叉搜索树(从左右子树获取信息进行推导)
题目:98. 验证二叉搜索树 题目描述: 给你一个二叉树,让你判断该二叉树是否是二叉搜索树.什么是二叉搜索树呢?就是某一个节点的左子树上的所有节点的值都小于当前节点,右子树上的所有节点值都大于当前节点 ...
- Java时间加减操作
Java时间加减操作 /** * 时间计算 * * @param str 时间字符串 * @param format 时间格式 * @param type Calendar内置常量 * @param ...
- Jq /Js 拖动选择文件
必须先引入 Jquery 依赖 1.文件结构 2. HTML <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- angular 引入服务报错global is not defined----angular11引入service报错Can't resolve '@core/net/aa/aa.service' in 'D:\pro'
先来说第一个问题:angular 引入服务报错global is not defined 今天遇到一个问题: 我以为是代码问题,排查很久没找到问题所在 angular 引入服务报错global is ...
- 模拟BS服务器分析-模拟BS服务器代码实现
模拟BS服务器分析 模拟网站服务器,使用浏览器访问自己编写的服务端程序,查看网页效果. 服务器要给客户端回写一个信息,回写一个html页面(文件)我们需要读取index.html文件,就必须的知道这个 ...
- 异常概念&异常体系-异常分类
异常概念&异常体系 异常,就是不正常的意思.在生活中:医生说,你的身体某个部分有异常,该部位和正常相比有点不同,该部位的功能将受影响,在程序中的意思就是: 异常:指的是程序在执行过程中,出现的 ...
- (数据科学学习手札149)用matplotlib轻松绘制漂亮的表格
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,matplotlib作为数据可 ...
- 数据湖Hudi与对象存储Minio及Hive\Spark\Flink的集成
本文主要记录对象存储组件Minio.数据湖组件Hudi及查询引擎Hive\Spark之间的兼容性配置及测试情况,Spark及Hive无需多言,这里简单介绍下Minio及Hudi. MinIO 是在 G ...
- 9月21日内容总结——计算机基础知识、typora软件的安装与软件内的部分markdown语法
今日内容总结 目录 今日内容总结 一.路径 1.绝对路径 2.相对路径 二.计算机的本质 三.计算机的五大组成部分 1.控制器 2.运算器 PS:CPU=控制器+运算器 3.存储设备 4.输入设备 5 ...
- WPF跨平台方案?
Avalonia XPF 通过我们的跨平台UI框架,释放现有WPF应用程序的全部潜力,使WPF应用程序能够在macOS和Linux上运行,而不需要昂贵和有风险的重写. 工作原理 我们使用 Fork o ...