面向对象大纲总结

类和对象

1、面向过程

  • 注重过程,什么事情都要自己去完成
  • 如 C语言

2、面向对象

  • 注重类的设计,找一个对象去完成这件事
  • 如 Java

3、类和对象

  • 类是一个抽象的、不具体的,如汽车图纸
  • 对象是真实存在的,是类的实例,如根据图纸造出来的汽车

4、类包含什么

  • 属性(成员变量、实例变量)

  • 行为(成员方法)

  • 方法重载
    1.必须在一个类中
    2.要求方法名相同
    3.参数列表不相同(个数不同、类型不同、类型的顺序不同)

  • 参数传递
    值传递(基本数据类型传递,传递的是值的副本)
    引用传递(引用数据类型,传递的是堆里面的地址)


封装

什么是封装?

  • 隐藏事物的内部细节,提供对外访问的公共方法

如何实现封装

  • 将属性私有化
  • 提供对应的get/set方法

构造方法

  • 1.创建对象
  • 2.创建对象的同时给属性赋值
  • 3.所有的类都会有构造方法
  • 4.构造方法可以进行重载,如果加了一个有参构造方法,必须显示的加一个无参构造方法

this

  • 1.this代表当前对象
  • 2.用来区分成员变量和局部变量
  • 3.可以修饰成员变量(this.成员变量名)、成员方法(this.方法名)、构造方法(this(形参))

继承

1、什么时继承?

  • 允许子类拥有父类的属性和行为

2、继承的优缺点

  • 优点:提高代码的复用性
  • 缺点:类和类之间的耦合度变高了

3、访问修饰符

  • public
  • protected
  • default
  • private

4、super

  • 1.当子类和父类属性重名时,可以通过 super.属性名 的方式调用父类的属性
  • 2.当子类重写父类的方法后,可以通过 super.方法名 的方式调用父类未重写前的方法
  • 3.通过 super(形参) 的方式调用父类的构造方法,默认调用父类无参构造方法
  • 4.this代表当前对象,super代表父类对象

5、方法重写

  • 什么是方法重写?
    如果父类的方法满足不了子类的需求,可以重写父类的方法
  • 要求
    1.要求子类方法名、参数列表、返回值类型必须与父类一致
    2.子类方法的访问修饰符权限不能小于父类
    3.子类和父类方法必须同为static或非static

多态

1、什么时多态?

  • 1.一个对象的多种形态
  • 2.同一个动作作用于不同的对象所产生的行为是不一样的

2、多态的类型

  • 1.编译时多态(方法重载)
  • 2.运行时多态(程序在运行期间才能确定对象的类型)

3、多态产生的条件

  • 1.方法重载
  • 2.方法重写
  • 3.存在继承关系
  • 4.接口的实现
  • 5.子类对象的多态性

4、多态的特性

  • 1.子类对象的多态性(父类的引用指向子类的实例),Person stu = new Student();
  • 2.在编译的时候调用父类的访问,在执行时执行的是子类重写的方法
  • 3.编译看左边,运行看右边
  • 4.子类和父类的类型转换
    向上转型(子类转成父类),Person stu = new Student();
    向下转型(父类转成子类),Student stu1 = (Student0) stu;

5、final

  • final代表什么
    代表最终的意思
  • final可以修饰什么?
    1.修饰的类不能被继承
    2.修饰的方法不能被重写
    3.修饰成员变量,成员变量就变成了常量,不会再有默认值
    4.修饰局部变量,就变成了常量

6、static

1.成员变量(类变量)

  • 类变量随着类的加载而加载,无论创建多少对象,这些对象都共享我这个变量值
  • 用static修饰的变量,这个变量就不再属于对象,而属于类本身
  • 访问:类名.属性
  • 类变量保存在方法区静态域

2.成员方法(类方法)

  • 用static修饰的方法,这个方法就不再属于对象,而属于类本身
  • 访问:类名.方法名
  • 在类方法里面只能调用静态变量或静态方法,不能调用非静态变量和方法
  • 在非静态方法里面可以调用静态变量和静态方法
  • 不能使用this、super关键字

3.静态代码块

  • static{}
  • 它随着类的加载而加载,只会执行一次
  • JDBC的工具类

抽象类

1、什么是抽象类

  • 抽象类一般当成父类,主要是功能的定义,具体方法的实现交给子类去完成,通过abstract进行修饰

2、抽象类的特点

  • 1.抽象方法所在的类必须是抽象类
  • 2.抽象类不能实例化
  • 3.如果要实现一个抽象类,必须写一个子类继承这个抽象类
  • 4.抽象类有构造方法
  • 5.继承抽象类以后,子类必须重写抽象类所有的抽象方法(子类非抽象类)
  • 6.抽象类可以定义普通方法

3、抽象方法

  • 没有方法体,只有方法的定义

接口

1、什么是接口?

  • 接口就是一组规范,把不同的类或者不同层次的类具有相同行为的集合在一起

2、怎么定义接口

  • 把class变成interface

3、接口的特点

  • 1.接口里面的方法都是抽象方法
  • 2.接口里面的变量都是常量
  • 3.接口就是一特殊的抽象类,不能被实例化
  • 4.创建一个类实现接口,重写这个接口的所有抽象方法(抽象类除外)
  • 5.接口可以继承接口,继承多个接口
  • 6.一个类可以实现多个接口,每个接口之间用 , 隔开,解决类单继承的问题
  • 7.接口里面不能定义普通方法,jdk8以后有default概念,可以有方法体
  • 8.接口没有构造方法

4、实现类

  • 1.实现接口的类就是实现类
  • 2.如果一个类继承一个类并且实现了一个接口,那么继承写在接口前面 ,C extends A implements B

PDF下载链接https://download.csdn.net/download/qq_42629988/12707476

大纲思维导图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值