接口&&多态&&构造函数&&关键字
2024-08-30 04:22:25
day06
抽象类的局限性(与接口的区别)
- 抽象类可以定义非抽象方法,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;jdk1.8之后接口可以包含默认方法。
- 一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)类与类之间只能是单继承(包括抽象类),接口与接口之间可以是多实现,多继承。
- 抽象类可以定义普通的成员变量,接口只能定义public static final的成员变量。
接口
成员
- 公共的静态常量
- 公共的抽象方法
继承
接口与接口之间可以多实现,多继承
原因:
因为接口中的方法都是没有实现的,所以就算有两个父接口的方法名称相同,子类实现接口的时候也不会有什么影响,重写即可,所以接口与接口之间是存在多继承的。
多态
- 让父类的变量指向子类对象的地址值。
特点
- 成员方法:编译看左,运行看右。
- 成员变量:编译看左,运行看左。
转型
- 向下转型(强转)
- instanceof关键字
- 向上转型
- 向下转型(强转)
构造方法
- 父子类问题
- 父类如果只有有参构造,那么子类的构造函数中需要显式的调用父类的有参构造。
day07
关键字
static:非静态能够直接调用静态方法和变量,静态方法不能够直接调用非静态的方法和变量。
super:子类对父类的引用,只能在非静态的方法中调用。
final:
- final修饰的类不可以被继承,但可以创建对象,如String。
- final修饰的方法不可以被重写,子类重写的方法可以加上final修饰。
- final修饰局部变量,只能够赋值一次,当修饰的是引用的类型的时候,不能被重新赋值,但是可以修改对象的属性。
- final修饰成员变量,必须在定义的时候进行赋值,不会有自动初始化值,(或者在构造方法中进行赋值)。
最新文章
- script标签中defer和async属性的区别
- RSA加密算法的简单案例
- SSH加固
- linux date时区修改
- ORM查询语言(OQL)简介--高级篇:脱胎换骨
- .NET微信公众号开发-4.0公众号消息处理
- Java的自动装箱和拆箱的简单讲解
- 汇编语言学习笔记(5)——[bx]和loop
- 解决Cannot find or open the PDB file问题
- java socket 单服务器多客户端实时通信
- HTML标签大全
- 四种必须知道的Android屏幕自适应解决方案
- Android 纯代码加入点击效果
- 使用typeof方法反射属性和方法
- 201521123070 《JAVA程序设计》第2周学习总结
- intel-hadoop/HiBench流程分析----以贝叶斯算法为例
- 嵌入式C语言常见的错误
- NIO学习资料
- vue中父组件给子组件传值,子组件给父组件传值
- centos 6 和centos 7 系统下vnc配置