- 什么是面向对象:以类的方式组织代码,以对象的来组织(封装)数据
- 三大特性:封装,继承,多态
- 构造器:
- 和类名相同,没有返回值;
- 作用:new本质就是在调用构造方法,默认使用无参构造;还可以初始化对象的值;
- 注意:定以有参构造之后,若还想使用无参构造的话必须要显示的定义;
- 封装:数据的隐藏;通常应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问
- 提高程序的安全性,保护数据;
- 隐藏代码的细节;
- 统一接口;
- 系统可维护性增强;
- 继承:本质是对某一批类的抽象,从而实现对现实世界更好的建模;
- super注意点:
- super调用父类的构造方法,必须在构造方法的第一个;
- super必须只能出现在子类的方法或者构造方法中;
- super和this不能同时调用构造方法
- this代表本身调用者这个对象,没有继承关系也能使用,this()是本类的构造方法;
- super代表父类对象的引用,只能在继承条件下才可以使用,super()是父类的构造;
- 方法的重写(需要有继承关系,子类重写父类的方法,原因是父类的功能子类不一定需要或者不一定满足):
- 方法名必须相同;
- 参数列表必须相同;
- 修饰符的范围可以扩大但不能缩小;
- 抛出的异常范围可以缩小但不能扩大;
- 多态:指同一方法可以根据发送对象的不同而采用多种不同的行为方式
- 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多;
- 多态存在的条件:有继承关系;子类重写父类的方法;父类引用指向子类对象;
- 注意:多态是方法的多态,属性没有多态性;
- 执行顺序:static修饰的静态代码块在类加载的时候就执行了,之后是匿名内部类,最后执行构造方法;
- 抽象类:抽象类是不能new的;抽象类中可以写普通的方法,抽象方法必须在抽象类中,类似是约束;存在的意义就是将可能共有的抽象出来,提高开发效率;
虽然抽象类不能实现实例,但有构造方法,其构造方法和普通类的构造方法一样都是来初始化成员变量的。但是一旦一个普通类继承了抽象类,也可以在构造函数中调用其抽象类的构造函数。
- 接口的总结:
- 实际上是各种约束;
- 在接口中定义一些方法,让不同的类来实现;
- 接口中的方法都是用public abstract修饰;
- 接口中的属性都是用public static final修饰的;
- 接口不能被实例化,接口中也没有构造方法;
- 可以实现多个接口,也就是间接的实现了多继承;
- 实现接口也必须要重写接口中的方法;
posted @
2024-04-29 22:06
Hanyta
阅读(
7)
评论()
编辑
收藏
举报