java
个人查漏补缺,仅供参考学习
一. 泛型
- 未明确类型时默认类型为Object,不能通过不确定的变量直接去创建对象和对应的数组
- "?"通配符,可以匹配任意类型,但是具体类型最后还是Object类型
- 具体类型的变量,不能使用不同的变量接收
- 泛型变量不止一个,可以定义多个
二.基础
- jdk,jre,jvm
- jdk 开发环境
- jre 运行环境
- jvm 虚拟机,移植性
- 构造器
- 和类名相同
- 没有返回值
- new 本质在调用构造方法
- 初始化对象的值
- 定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造
- super
- super 调用父类的构造方法,必须在构造方法的第一个
- super必须只能出现在子类的方法或构造方法中
- super和this 不能同时调用构造方法
- 比较:
- 代表的对象不同,this本身调用者这个对象,super父类对象的应用
- 前提,this 没有继承也可以使用,super只能在继承条件才能使用
- 构造方法,this()本类的构造,super()父类的构造
- 重载
- 规则:方法名相同,参数个数不同、参数类型不同或参数列表排序都可以构成重载
- 理论:方法名称相同,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则报错
- 重写是方法的重写,与属性无关
- 需要由继承关系,子类重写父类的方法
- 方法名必须相同
- 参数列表列表名必须相同
- 修饰符:范围可以扩大但不可以缩小(public>protected>default>private)
- 抛出异常:范围可以缩小但不能扩大(ClassNotFoundException<exception)
- 子类方法和父类方法必要一致,方法体不同
- 子类不需要或不满足时需要重写
- static、final、private不能被重写
- 多态
- 父类的引用指向子类对象
- 多态是方法的多态,属性没有多态
- 多态是一个行为具有多个不同表现形式或形态的能力
- 父类和子类,有联系,类型转换异常(ClasscastException)
- 存在条件:继承关系,方法需要重写,父类引用指向子类对象。比如:在父类new子类,调用是调用父类,要是子类重写父类,则调用子类方法
- static、final、private关键字定义的方法不能被重写
- instanceof (类型转换-----引用类型)
- 静态方法:
- 静态方法是调用类的方法,非静态方法调用的是对象的方法
- 静态方法的调用只和左边定义的数据类型有关