目录
1.this关键字的使用
- this调用的结构:属性、方法;构造器;
- this调用属性或方法时,理解为:当前对象或当前正在创建的对象。
public void setName(String name){//当属性名和形参名同名时,必须使用this来区分
this.name=name;
}
public Person(String name){
this.name=name;
}
- this(形参列表)的方式,表示调用当前类中其他的重载的构造器。
2.面向对象的特征二:继承性
- 继承性的好处
- 减少了代码的冗余,提高了复用性
- 提高了扩展性
- 为多态的使用,提供了前提
- Java中继承性的特点
- 局限性:类的单继承性。后续通过类实现接口的方式,解决单继承的局限性
- 支持多层继承,一个父类可以声明多个子类
- 基础:class A extends B{}
- 理解:子类就获取了父类中声明的全部的属性、方法。可能受封装性的影响,不能直接调用
3.方法的重写
- 面试题:方法的重载与重写的区别?
- 方法的重载:“两同一不同”
- 方法的重写:
- 前提:类的继承关系
- 子类对父类中同名同参数方法的覆盖、覆写。
4.super关键字的使用
- super可以调用的结构:属性、方法;构造器
- super:父类的
- super调用属性、方法:
- 如果子父类中出现了同名的属性,此时使用super.的方式,表明调用的是父类中生命的属性
- 子类重写了父类的方法。如果子类中任何一个方法需要调用父类被重写的方法时,需要使用super
- super调用构造器:
- 在子类的构造器中,首行要么使用this(形参列表),要么使用super(形参列表)
5.子类对象实例化的全过程
- 结果上来说:体现为继承性
- 过程上来说:子类调用构造器创建对象时,一定会直接或间接调用其父类的构造器,以及父类的父类的构造器...直到调用到object()的构造器
6.面向对象的特征三:多态性
- 广义上的理解:子类对象的多态性、方法的重写;方法的重载
- 侠义上的理解:子类对象的多态性
- 格式:Object obj=new String ("hello");父类的引用指向子类对象
- 多态的好处:减少了大量的重载的方法的定义;开闭原则
- 举例:public boolean equals(Object obj)
- 多态无处不在!
- 多态的使用:虚拟方法调用。“编译看左边,运行看右边”。属性,不存在多态性
- 多态的逆过程:向下转型,使用强转符()。
- 为了避免出现强转时的classcastException,建议()之前使用instanof进行判断。
7.object类的使用
- 根父类
- equals()的使用
- 重写和不重写的区别
- ==和equals()
- toString()的使用
- object中tostring()调用后,返回当前对象所属的类和地址值
- 开发中常常重写tostring(),用于返回当前对象的属性信息