[Day10]继承、抽象类
1.继承:在一个现有类的基础上去构建一个新的类,构建出来的新类被称为子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。
2.继承的格式 : class 子类 extends 父类{}
3.继承的好处:
(1)继承的出现提高了代码的复用性,提高软件开发效率
(2)继承的出现让类与类之间产生了关系,提供了多态的前提
4.继承的问题:
(1)在java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类
(2)多个类可以继承一个父类
(3)允许多层继承
(4)父类和子类是相对的概念
5.父类中的成员变量是非私有的,子类中可以直接访问,;若父类中的成员变量私有,子类不能直接访问
当子父类中出现同名变时,在子类中若要访问父类中的成员变量,必须使用关键字super完成。
格式:super.父类中的成员变量
6.子父类中成员方法特点-重写&应用
(1)当在程序中通过对象调用方法时,先查询子类再查询父类
(2)覆盖:子类中出现与父类一模一样的方法,override重写、复写或覆盖
在子类中,访问父类中的成员方法格式:super.父类中的成员方法();
一模一样:方法的返回值类型 方法名 参数列表都要一样
(3)注意:子类方法覆盖父类方法,必须保证权限大于等于父类权限
7.抽象类的产生
(1)方法功能声明相同,但方法功能主体不同。
(2)abstract关键字修饰的类是抽象类
(3)抽象方法定义的格式:public abstract 返回值类型 方法名(参数);
抽象类定义的格式: abstract class 类名{ }
8.抽象类的特点
(1)抽象类和抽象方法都需要被abstract修饰,抽象方法一定要定义在抽象类中。
(2)抽象类不可以直接创建对象
(3)只有覆盖了所有抽象类中所有的抽象方法后,其子类才可以创建对象。
9.关于抽象类中的细节问题
(1)抽象类一定是一个父类
(2)抽象类的可以不定义抽象对象,不让该类创建对象
(3)抽象关键字abstract不可以与private,final,static这三个关键词共存
[Day10]继承、抽象类的更多相关文章
- PHP 面向对象:抽象类继承抽象类
抽象类继承另外一个抽象类时,不用重写其中的抽象方法.抽象类中,不能重写抽象父类的抽象方法.这样的用法,可以理解为对抽象类的扩展. 下面的例子,演示了一个抽象类继承自另外一个抽象类时,不需要重写其中的抽 ...
- PHP面向对象之旅:抽象类继承抽象类(转)
可以理解为对抽象类的扩展 抽象类继承另外一个抽象类时,不用重写其中的抽象方法.抽象类中,不能重写抽象父类的抽象方法.这样的用法,可以理解为对抽象类的扩展. 下面的例子,演示了一个抽象类继承自另外一个抽 ...
- Java中的继承抽象类和接口
一.总结 1.使用extends关键字继承,eg: class Student extends Persion { ...}; 2.Java编程规范中类的首字母大写,方法的首字母小写单词首字母代谢,e ...
- 面向对象 继承 抽象类 接口 static 权限修饰符
Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...
- 业务中是否有必要让所有的ViewController统一继承抽象类
疑问来自:这里 1.事出有因 其中博主说道的情况我其实也经历过,当时还在找到一个模式可以改变这样的情况.直到有一天看到这个博客,今天晚上有时间来规整一下博主的思路和写了一个测试代码. 这是我目前的Ap ...
- 深入理解OOP(四): 多态和继承(抽象类)
在本文中,我们讨论OOP中的热点之一:抽象类.抽象类在各个编程语言中概念是一致的,但是C#稍微有些不一样.本文中我们会通过代码来实现抽象类,并一一进行解析. 深入理解OOP(一):多态和继承(初期绑定 ...
- 深入浅出OOP(四): 多态和继承(抽象类)
在本文中,我们讨论OOP中的热点之一:抽象类.抽象类在各个编程语言中概念是一致的,但是C#稍微有些不一样.本文中我们会通过代码来实现抽象类,并一一进行解析. Abstract Classes 在微软的 ...
- java之子类继承抽象类,子类构造器调用抽象类构造器问题
package com.wtd; public abstract class Car { private String name= "car"; public Car(String ...
- this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符
1.this关键字的作用 1)调用本类中的属性; 2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用 3)表示当前对象; 2.匿名对象 ...
随机推荐
- 一行代码搞定 R 语言模型输出!(使用 stargazer 包)
引言 使用stargazer包可以将 R 构建的模型结果以LATEX.HTML和ASCII格式输出,方便我们生成标准格式的表格.再结合rmarkdown,你就可以轻轻松松输出一篇优雅的文章啦~本文“使 ...
- ABC卡
如今在银行,P2P等各种贷款业务机构,普遍使用信用评分,对客户实行打分制,以期对客户有一个优质与否的评判.但是不是所有人都知道信用评分卡还分A,B,C卡三类!所以,如果你只知道ABC是Gary的ABC ...
- Mybatis(二) 全局配置文件详解
这节来说说全局配置文件的东西,非常简单.看一遍就懂了. --WH 一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.prop ...
- linux安全配置检查脚本_v0.8
脚本环境:RHEL6.* 脚本说明:该脚本作用为纯执行检测不涉及更改配置等操作,与直接上来就改安全配置等基线脚本相比相对安全一些.虽然如此,在你执行该脚本之前仍然建议你备份或快照一下目标系统. 代码部 ...
- (9) MySQL主主复制架构使用方法
一. 回忆主从复制的一些缺点 上节说到主从复制的一些问题 我们再来回忆一下 主从复制,增加了一个数据库副本,从数据库和主数据库的数据最终会是一致的 之所以说是最终一致,因为mysql复制是异步的,正常 ...
- C语言 · 礼物盒
礼物盒 分值: 20 小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 36 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm). ...
- OpenCV + python 实现人脸检测(基于照片和视频进行检测)
OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...
- getCanonicalFile与getAbsoluteFile区别
package test; import java.io.File; import java.io.IOException; public class TestFilePath { public st ...
- 1.介绍(introduction)
这里主要记录一本书的学习过程: 条件独立: 意思是X和Y在given Z的情况下是独立的. 满足P(X,Y|Z) = P(X|Z)*P(Y|Z)以及P(X|Y,Z) = P(X|Z) 条件独立的一些性 ...
- Java开发工程师面试题1
时间2019-1-2 地点上海 package service; import java.text.SimpleDateFormat; import java.util.Date; public cl ...