java第二章继承
继承(extends)面向对象三大特征之一
类中有许多相同的属性和方法,代码重复,如果需要修改涉及较多类修改量增多
将子类中共有的属性和方法提取到父类,让子类继承父类,减少代码量,扩展性维护性,子类可通过super(构造方法)调用父类属性,列super.sethealth(99)
重写:
由来:当子类中的属性和方法父类不能满足时,则可以对父类的同名方法进行重写(覆盖)以满足子类的需求
必须满足的条件:重写方法和被重写方法的方法名相同,参数列表相同,返回值类型相同或是其子类,重写方法不能小于被重写方法的权限(直接相同就行)
重载(overloading)和重写(overriding)有什么区别和联系?
答:重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型和修饰符无关。
重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同(或是其子类)、访问修饰符不能严于父类。
子类运用super.方法名来调用父类被重写的方法 | super出现在子类的方法和构造方法中,不是其他位置
super.属性名(调用父类的属性) super.方法名(调用父类的方法 ) super(构造方法参数) 只能出现在子类的构造方法中


抽象类:
父类实例化对象没什么用处,限制父类实例化
抽象类和抽象方法的特点:
abstract修饰的类和方法成为抽象类和抽象方法
抽象类不能被实例化,抽象方法子类必须重写
抽象类中可以有0到多个或全部都是抽象方法
抽象方法只有方法声明,没办法实现,有抽象方法的类必须声明为抽象类,子类必须重写所有的抽象方法才能被实例化,否则这个子类还是一个抽象类
继承条件下构造方法调用规则:
如果在子类的构造方法中没有显示调用父类有参的构造方法,则将执行父类的无参构造方法
如果子类的构造方法中通过super显示调用父类的有参构造方法,则会执行父类的有参构造方法,不执行父类的无参构造方法
如果父类的构造方法中通过this显示调用自身的其它构造方法,则应在相应构造方法中应用以上两条规则
abstract和final关键字的运用
abstract用来修饰类和方法,不能用来修饰属性和构造方法(abstract修饰的方法其类必须是抽象类,抽象方法子类必须重写)
final用来修饰类,方法,和属性,不能修饰构造方法(final修饰的类不能被继承,final修饰的属性和方法不能改动)
java第二章继承的更多相关文章
- ASP.NET自定义控件组件开发  第二章 继承WebControl的自定义控件
		原文:ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 第二章 继承于WebControl的自定义控件 到现在为止,我已经写了三篇关于自定义控件开发的文章,很感谢大家的支 ... 
- “全栈2019”Java第二章:安装JDK11(Windows)
		难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ... 
- [Effective Java]第二章 创建和销毁对象
		声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ... 
- Java第二章----对象和类
		从第一章到第二章整整隔了一个月的时间,这速度也是慢的无语了.因为这个月负责开发公司一个SaaS类型APP,忙的昏天暗地终于上线了,这才有时间写个博客.本章还是以概念为主,有点枯燥重在理解. 第一节:对 ... 
- Java 第二章 变量
		第二章 变量 变量称为:是计算机语言中能储存计算机结果或能表示值抽象概念 .变量可以通过变量名访问 int money ; //变量 money=1000; //赋值 int money=1000: ... 
- Java    第二章   变量、数据类型和运算符
		第二章 变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ... 
- Java OOP——第二章 继承
		1. 继承: ●继承是面向对象的三大特征之一,是JAVA实现代码重用的重要手段之一: ●继承是代码重用的一种方式,将子类共有的属性和行为放到父类中: ●JAVA只支持单继承,即每一个类只有一个父类,继 ... 
- 对于所有对象都通用方法的解读(Effective Java 第二章)
		这篇博文主要介绍覆盖Object中的方法要注意的事项以及Comparable.compareTo()方法. 一.谨慎覆盖equals()方法 其实平时很少要用到覆盖equals方法的情况,没有什么特殊 ... 
- 如何创建和销毁对象(Effective Java 第二章)
		最近有在看Effective Java,特此记录下自己所体会到的东西,写篇博文会更加的加深印象,如有理解有误的地方,希望不吝赐教. 这章主题主要是介绍:何时以及如何创建对象,何时以及如何避免创建对象, ... 
随机推荐
- python 文件处理(转载)
			本文给大家介绍Python文件处理相关知识,具体内容如下所示: 出处:https://www.jb51.net/article/80204.htm 1.文件的常见操作 文件是日常编程中常用的操作,通常 ... 
- tomcat安装启动之后localhost:8080页面进不去,提示错误500
			具体的错误展示页面如下: 首先,需要考虑到是不是安装的tomcat版本和自己安装的jdk的版本一致,如果不一致,建议将tomcat换成和jdk一致或者高于jdk版本的tomcat版本.(比如安装的jd ... 
- Mock及Mockito使用
			mockito http://www.vogella.com/tutorials/Mockito/article.html 原文地址: http://www.open-open.com/lib/vie ... 
- gentoo qt-creator no examples
			参考 [SOLVED] qtcreator: examples are missing https://forums.gentoo.org/viewtopic-t-1092826-highlight- ... 
- 验证demo
			// chenwenjun.cpp : 定义控制台应用程序的入口点.//#include "stdafx.h"#include <iostream>#include & ... 
- DOM编程艺术章12:一个简单的Ajax例子
			大概入了JavaScript的门,现在要回过头恶补Ajax和json了,随手翻到dom编程艺术发现有一个适合回忆的例子,先抄录下来,引入对Ajax作用的大概印象,再去掰开了研究. <!DOCTY ... 
- 关于JVM加载内存图学习小密招
			先看如下代码: Person.java public class Person { private String name; private int age; static int count = 0 ... 
- jquery关闭弹出层视频还在播放. 解决办法!
			$(".video-hide video#sp").trigger("pause"); 其中 video#sp 很重要 不然不行 
- python3 字典update与deepcopy
			问题概述: 在码代码中,需要保存一个字典,用的update,后来发现update的值会随着原字典值得变化而变化. 而后使用deepcopy来保存字典. update a = {1:{2:3}}b= { ... 
- 给centos 7添加硬盘空间
			前言 今天在安装ambari的时候,制作amberi本地yum源的时候出现了一个问题,虚拟机的磁盘空间不足了,后来发现是因为这个节点之前本来只打算作为数据节点使用的,后来所以后来只给它分配了20G的硬 ... 
