OOP:面向对象
面向对象原则:
- 高内聚:提升程序内部的性能
- 低耦合:降低程序中类之间的依赖关系
1、什么是继承?
- 允许子类拥有父类的属性和行为(除私有属性和行为)
2、优缺点
优点:提升了代码的复用性
缺点:由于继承会有多层继承关系,层级结构非常复杂。
3、继承的语法
子类 extends 父类
4、super关键字
- 当创建子类对象时,会调用父类的空参构造器super()
- super可以通过子类构造器调用父类构造器,可以初始化父类的成员属性
- super可以调用父类非私有方法
- super和this同时存在的时候,一定先使用super调用父类构造器,初始化父类成员属性,在使用this关键字初始化子类成员属性
- 所有的子类都会默认调用父类的空参构造器(默认为空参,一经书写构造器,就没有默认提供的空参构造器了)
5、this关键字和super关键字
this:当前对象(子类对象)
super:代表的是父类
6、方法重写override
定义:方法重写是子类重新定义父类的方法。
必要条件:
- 子类重写的方法名、形参列表、返回值和父类完全一致
- 子类重写的方法访问修饰符权限不低于父类的访问修饰符
7、方法重载(overload)和方法重写(override)的区别
- 方法重载要求在同一个类中
- 方法重写必须存在继承关系(子类和父类is-a)
- 方法重载要求方法名相同、形参列表不同(类型和数量不同)、和返回值类型无关
- 方法重写要求方法名相同、形参列表相同、返回值类型相同
面试题目
Java 创建对象的方法?
- new
- clone()
- 反射
- 反序列化
- Object类
- 它是所有类的基类
- toString()方法
- 全类名+@+哈希值
- 由于所有的类都继承与Object,都可以调用Object中的toString()
- 所有的类都可以重写totring()方法
- equals()方法
- 比较两个对象的地址值是否一致
- 在Object类中equals方法底层实现使用的是== (==中基本数据类型比较的是数值,引用数据类型比较的是地址。String中重写了equals()方法,比较的是字符串是否相同)
- 所有类都可以重写equals()方法
1万+

被折叠的 条评论
为什么被折叠?



