接口&&多态&&构造函数&&关键字
day06
抽象类的局限性(与接口的区别)
- 抽象类可以定义非抽象方法,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;jdk1.8之后接口可以包含默认方法。
- 一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)类与类之间只能是单继承(包括抽象类),接口与接口之间可以是多实现,多继承。
- 抽象类可以定义普通的成员变量,接口只能定义public static final的成员变量。
接口
成员
- 公共的静态常量
- 公共的抽象方法
继承
接口与接口之间可以多实现,多继承
原因:
多态
- 让父类的变量指向子类对象的地址值。
特点
- 成员方法:编译看左,运行看右。
- 成员变量:编译看左,运行看左。
转型
- 向下转型(强转)
- instanceof关键字
- 向上转型
- 向下转型(强转)
构造方法
- 父子类问题
- 父类如果只有有参构造,那么子类的构造函数中需要显式的调用父类的有参构造。
day07
关键字
static:非静态能够直接调用静态方法和变量,静态方法不能够直接调用非静态的方法和变量。
super:子类对父类的引用,只能在非静态的方法中调用。
final:
- final修饰的类不可以被继承,但可以创建对象,如String。
- final修饰的方法不可以被重写,子类重写的方法可以加上final修饰。
- final修饰局部变量,只能够赋值一次,当修饰的是引用的类型的时候,不能被重新赋值,但是可以修改对象的属性。
- final修饰成员变量,必须在定义的时候进行赋值,不会有自动初始化值,(或者在构造方法中进行赋值)。
接口&&多态&&构造函数&&关键字的更多相关文章
- JAVA笔记6__抽象类/接口/多态/instanceof关键字、父类设计法则
/** * 抽象类:很多具有相同特征和行为的类可以抽象为一个抽象类 * 1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类 * 2.非抽象类继承抽象类必须实现抽象方法[可以是空实现] * 3.抽象 ...
- 用关键字interface定义接口,通过关键字implements来实现接口
[定义]Java中,能够完成特定功能的,由若干属性和方法组织成的,相对独立的属性和方法的集合. [用途]实现类的多继承,以解决Java只能单继承,不支持多继承的问题. [特点] 用关键字interfa ...
- Java中的Serializable接口和transient关键字
Java中的Serializable接口和transient关键字 Table of Contents 1. 向memcached中放数据时遇到NotSerializableException异常 2 ...
- [原译]实现IEnumerable接口&理解yield关键字
原文:[原译]实现IEnumerable接口&理解yield关键字 著作权声明:本文由http://leaver.me 翻译,欢迎转载分享.请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢 ...
- C# 一些知识点总结(一)_继承,多态,集合,关键字...
内存中的三大存储区域:栈.堆.静态存储区域 new 关键字:new帮助我们做了三件事:1)在内存中开辟一块空间(开辟内存空间)2) 在开辟的空间中创建对象3)调用对象的构造函数进行初始化对象所以构造函 ...
- java 面对对象(抽象 继承 接口 多态)
什么是继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 多个类可以称为子类,单独这个类称为父类.超类或者基类. 子类可以直接 ...
- JAVA:类的三大特征,抽象类,接口,final关键字<3>
一.类的三大特征 1.封装性 (1).什么是封装 封装就是把抽象出的数据和对数据的操作封装在一起, 数据被保护在内部, 程序的其他部分只有通过被授权的操作(成员方法), 才能对数据进行操作. (2). ...
- Java学习第三篇:类的三大特征,抽象类,接口,final关键字
一.类的三大特征 1.封装性 (1).什么是封装 封装就是把抽象出的数据和对数据的操作封装在一起, 数据被保护在内部, 程序的其他部分只有通过被授权的操作(成员方法), 才能对数据进行操作. (2). ...
- java的方法重写 ,多态和关键字 instanceof和final
package cn.pen; /*final 是一个java的关键字,用于修饰局部变量.属性.方法.类,表示最终的意思. final修饰类表示最终类,无法被继承.public final class ...
随机推荐
- Java实现 LeetCode 730 统计不同回文子字符串(动态规划)
730. 统计不同回文子字符串 给定一个字符串 S,找出 S 中不同的非空回文子序列个数,并返回该数字与 10^9 + 7 的模. 通过从 S 中删除 0 个或多个字符来获得子字符序列. 如果一个字符 ...
- Java实现 LeetCode 657 机器人能否返回原点(暴力大法)
657. 机器人能否返回原点 在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i ...
- Java实现 蓝桥杯VIP 基础练习 FJ的字符串
问题描述 FJ在沙盘上写了这样一些字符串: A1 = "A" A2 = "ABA" A3 = "ABACABA" A4 = "AB ...
- Java实现完美洗牌算法
1 问题描述 有一个长度为2n的数组{a1,a2,a3,-,an,b1,b2,b3,-,bn},希望排序后变成{a1,b1,a2,b2,a3,b3,-,an,bn},请考虑有没有时间复杂度为O(n)而 ...
- 实用!看Python如何光速合并多个PDF
大家好,今天分享一个实用的办公脚本:将多个PDF合并为一个PDF, 例如我手上现在有如下3个PDF分册,需要整合成一个完整的PDF. 如果换成你操作的话,是不是打开百度搜索:PDF合并,然后去第三方网 ...
- JDBC连接泄露问题的排查过程总结
当前使用的Spring JDBC版本是5.0.0.RC1,HikariCP版本是3.1.0. 今天测试同学反馈在前端页面点击次数多了,就报500错误,数据显示不出来.于是我在后台服务日志中观察发现Hi ...
- K8S-PV和PVC的实践
一.什么是PV和PVC? PV的全称是Persistent Volume,翻译过来为持久化存储卷,是对底层的共享存储的一种抽象,PV由管理员进行创建和配置,主要含存储能力.访问模式.存储类型.回收策略 ...
- C语言-耶稣门徒
<span style="font-family: Arial, Helvetica, sans-serif;"> </span> <span sty ...
- 【Transferable NAS with RL】2018-CVPR-Learning Transferable Architectures for Scalable Image Recognition
Transferable NAS with RL 2018-CVPR-Learning Transferable Architectures for Scalable Image Recognitio ...
- <WP8开发学习笔记>ApplicationBar(任务栏)的切换以及“黑条问题”
ApplicationBar(以下简称AppBar)是WP应用相当常见的控件,也很方便.常见的做法是pivot或者panorama的页面切换的时候,AppBar跟随切换对应的按钮或者不显示按钮,如下图 ...