Java面向对象阶段

什么是面向对象?

面向对象是一种思想,他将万物视为为一个个对象,让对象表示万物各自的特征与自身的行为。

面向对象的特点

  • 对象具有方法和属性
  • 对象具有唯一性
  • 一切皆为对象
  • 对象是某个类别的实例
  • 对象具有变化状态

面向对象三大核心

封装

将类的一些属性或者方法进行隐藏不允许外部直接进行访问,而是通过该类实现方法来进行访问,从而保护数据和更好的方便修改和实现。一般使用标准get/set进行封装

封装的优点

  • 减少耦合性
  • 减轻维护的负担
  • 有效的调节性能

继承extend

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。子类拥有父类的所有属性和方法(除了private修饰的属性不能拥有)从而实现了实现代码的复用,减少代码的重复性 
注:一个父类可以有多个子类,一个子类只有一个父类

多态

多态就是对象的多种形态,是指允许不同子类型的对象对同一消息作出不同的响应。
方法的重写与重载来表现对象的多样性

重写

如果子类对父类的方法不满意可以进行重写,使子类对象其中的方法不在继承其父类 的方法而是执行重写后的子类方法。

重写的特点

  • 发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
  • 子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
  • 子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)

重载

它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,就会根据不同的参数样式,来选择合适的方法执行

重载的特点

  • 在使用重载时只能通过不同的参数样式
  • 不能通过访问权限、返回类型、抛出的异常进行重新加载;
  • 方法的异常类型和数目不会对重新加载造成影响;
  • 在同一类中进行才能进行重载
    注:对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

abstract

用于修饰类和方法,表示抽象的。

  • 抽象方法只能出现在抽象类中,不能出现在普通类中。
  • 抽象类中可以没有抽象方法。
  • 抽象类中有构造方法,但该构造方法只会在new抽象类的子类对象时会自动调用,抽象类不能创建自身对象。
  • 抽象类通常需要被继承,一旦有子类继承了抽象类,就必须要重写抽象类中的所有抽象方法。

interface

接口用于定义接口的关键字。代替class。功能是把所需成员组合起来,用来封装一定功能的集合或者是把其看成另一种方式的继承。

  • 接口是一个完全抽象类,其中的方法都是public abstract修饰的抽象方法,没有方法体,其中的属性都是public final static修饰的静态常量。
  • 接口中没有构造方法,不能创建对象。
  • 接口通过implements实现,实现它的类称为该接口的实现类。
  • 一个类可以同时实现多个接口。
  • 一个类实现了接口后,必须重写其中的抽象方法。
  • JDK1.8后,可以在接口中定义default方法和static方法,该方法不用重写
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值