Java面向对象编程

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