java面向对象之继承、多态及部分关键字总结

java面向对象之继承、多态

一、继承

  1. 继承的概念:
    将多个类中的共性内容抽取出来放在一二个独立类中,
    同时这多个类和独立的类产生一-种关系. “继承关系” (extends)
  2. 继承的好处:
    1)提高代码的复用性
    2)提高代码的维护性
    3)类与类产生的关系(继承),是多态的前提条件之一!
  3. 继承的特点:
    1)在Java中,类与类之间只支持单继承,丕支持多继承!
    2)虽然不支持多继承,但是可以支持多层继承!
    继承的弊端:类与类之间的继承关系,存在一定的耦合性!
    开发的原则:低耦合,高内聚

二、局部变量与static关键字

  • 局部变量不用加权限修饰符的,因为局部变量本身就是一个访问限定!因为跟方法有关系、static不能修饰局部变量,局部变量随着方法调用而存在,随着方法调用结束而消失(释放掉),而被static修饰的变量有一个特点:可以被共用,方法调用完里需要程放掉局部变量,这种情况产生冲突.但是可以使用fina1修饰符(状态修饰符),它修饰符的变量在内存中是一个固定的當量(永驻内在的)

三、final关键字的特点

  • final :状态修饰符,最终的,无法更改的!
  • 修饰类,该类不能被继承! (JDK提 供的8tring类: final class string{})
  • 修饰成员变量,该变量此时是一个常量: (传统的自定义常量的格式:public - atatic final 数据类型变量名= 初始化值)
  • 修饰成员方法,该方法不能被重写!

四、多态

  1. 概念:多态指某一个事物,在不同时刻表现出来的不同状态。- 多态前提和体现:有继承关系、有方法重写、有父类引用指向子类对象。
  2. 多态的成员访问特点:
    Fuf=newZi();
    1、成员变量:
    编译看左边,运行看左边!
    (等号左边编译通过,说明Fu类存在这个变量;运行看左,访问的是Fu类的变量)
    2、成员方法:
    编译看左边,运行看右边!
    (等号左边编译通过,说明Fu类存在这个方法;运行看右,子类出现了和父类一模一 样的方法声明:方法重写)
    3、静态的成员方法:
    编译看左,,运行看左!(静态的算不上方法重写,跟类直接相关,随着类的加载而加载!)
  3. 多态的好处以及多态的整端,如何解决多态的整端:
  • 好处: .
    1)提高代码的复用性,由继承保证的!
    2)提高代码的扩展性,由多态保证!
  • 整端:
    不能访问子类的特有功能
    1)创建具体的子类对象子类名对象名= new子类名();这种方式,比较消耗内存空间(在堆内存中开辟新的空间!)
    2)使用向下转型:将父类的引用强制转挽子类的引用:
    子数名子类对象名 = (子类名)父类的引用;

五、抽象类与接口的区别

  1. 成员的区别
    1)成员变量:
    抽象类:既可以定义常量,也可以定义变量
    接口:只能是常量,存在默认修饰符:public static final…
    2)成员方法:
    抽象类:既可以定义抽象方法,也可以定义非抽象方法
    接口:只能是抽象方法,存在默认的修饰符:public abstract…
    3)构造方法:
    抽象类:存在构造方法,无参/有参,对数据进行构造初始化(分层初始化)
    接口:没有构造方法

  2. 关系的区别
    1)类与类之间
    不管这个类是抽象类还是具体类,都继承关系(extends)
    支持单继承,不支持多继承,可以多层继承
    2)类与接口之间
    实现关系( implements)
    一个类继承另一个类的同时可以实现多个接口!
    3)接口与接口之间
    继承关系( extends)
    支持单继承,以及多继承!

  3. 设计理念的区别
    1)抽象类,—在抽象类多态中使用:存在继承关系---- >体现的一种"is a"的关系
    举例:
    父类引用指向子类对象:
    Animal a = new Cat() ;
    2)接口:体现的–个事物的扩展功能(额外功能),本身不具备的功能
    子实现类实现( implements)接口:存在实现关系
    体现的是一种"like a" 的关系!
    部分猫经过学习—>产生一个"跳高的功能”(跳高猫很像猫)

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值