Java笔记学习03

什么是面向对象编程

面向对象编程(OOP)

面向对象编程的本质就是:以类的方式组织代码,以对象的方式组织(封装)数据

抽象

三大特性:

  1. 封装
  2. 继承
  3. 多态

封装(数据的隐藏)

通常,应禁止直接访问一个对象数据的实际表示,而应该通过操作接口来访问,这称为信息的隐藏。

记住这句话:属性私有,get/set

继承

extends的意思是扩展。子类是父类的扩展

JAVA中类只有单继承,没有多继承

子类继承父类的所有的方法

super注意点

  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能出现在子类的方法或构造方法中
  3. super和this不能同时调用构造方法

Vs this

​ 代表的对象不同:

​ this:本身调用这个对象

​ super:代表父类对象的引用

​ 前提:

​ this:没有继承也可以使用

​ super:只有继承条件才可以使用

​ 构造方法:

​ this:本类构造

​ super:父类构造

重写:需要有继承关系,子类重写父类的方法

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:范围可以扩大但是不能缩小: public>Protected>Default>private
  4. 抛出异常:范围,可以被缩小,但是不能扩大:ClassNotFoundException – > Exception(大)

重写,子类的方法和父类必须一致:方法体不同!

为什么要重写:

  1. 父类的功能,子类不一定需要,或者不一定满足!

    Alt+Insert

多态注意事项

  1. 多态是方法的多态,属性没有多态

  2. 父类和子类,有联系 类型转换异常! ClassCastException

  3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象 Father f = new Son();

    1.static 方法 属于类,它不属于实例

    2.final 常量

    3.private 方法

抽象类

//abstract 抽象类:类 extends  单继承  (接口可以多继承)
public abstract class Person {
    //约束  有人帮我们实现
    //abstract  抽象方法 只有名字  没有方法的实现
    public abstract void doSomething();

    //1.不能new这个抽象类 只能靠子类去实现它:约束
    //2.抽象类中可以写普通方法
    //3.抽象方法必须在抽象类中
    //抽象的抽象:约束

    //存在的意思   抽象出来 提高效率
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值