面向对象【多态、final】第九期

本文总结了Java中的多态特性和final修饰符。多态包括成员访问特点、前提条件、语法和优势,强调了多态在代码解耦合和扩展性上的作用。final关键字用于修饰类、方法和变量,确保类不可被继承,方法不可被重写,变量一旦赋值不可更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于对于java中的多态和final修饰符的总结

目录

关于对于java中的多态和final修饰符的总结

1.面向对象的三大特性:

2.多态:

​编辑2.1多态中成员访问特点:

2.2多态的前提:

2.3多态的语法:

2.3多态的优势:

2.4多态的转型:

 3.final修饰符:

3.1final修饰变量的注意

3.2final修饰符的使用总结:


1.面向对象的三大特性:

封装、继承、多态

2.多态:

定义:多态是同一个行为具有多个不同表现形式或形态的能力。简单来讲就是“一个接口,多种实现”,就是同一种事物表现出的多种形态。

问:什么是多态?
答:指对象可以有多种形态。
问:多态的常见形式:


2.1多态中成员访问特点:

  • 成员方法调用:编译看左边,运行看右边。
  • 成员变量调用:编译看左边,运行也看左边。(注意)

2.2多态的前提:

  • 有继承/实现关系;有父类引用指向子类对象;有方法重写(多态侧重行为多态)。
  • 继承:必须有继承或者是接口实现(在多态中必须存在有继承关系的子类和父类)
  • 重写:必须有方法的重写(子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法)
  • 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才既能可以调用父类的方法,又能调用子类的方法。

2.3多态的语法:

父类 变量/对象名 = new 子类对象(); //多态写法
Person p = new Student();

对象调用方法,执行的子类的方法重写

2.3多态的优势:

  • 在多态形式下,右边对象可以实现解耦合,便于扩展和维护。
  • 定义方法的时候,使用父类型作为参数,该方法就可以接收这父类的一切子类对象,体现出多态的扩展性与便利。 

多态下会产生的一个问题:

  • 多态下不能使用子类的独有功能

2.4多态的转型:

 3.final修饰符:

  • final 关键字是最终的意思,可以修饰(类、方法、变量)
  • 修饰类:表示该类不能有子类,即该类不可以被继承。表明该类是最终类。
  • 修饰方法:表示方法不可以被重写。表明该方法是最终方法。
  • 修饰变量:表示变量的值不可以改变,此时该变量可以被称为常量。表明该变量第一次赋值后,不能再次被赋值(有且仅能被赋值一次)。

3.1final修饰变量的注意

  • final修饰的变量是基本类型:那么变量存储的数据值不能发生改变。
  • final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,但是地址指向的对象内容是可以发生变化的。

3.2final修饰符的使用总结:

  • final修饰类

        被final修饰的类,称为最终类,不能被其他的类继承,无子类. 太监类

  • final修饰方法

        说明这种方法提供的功能已经满足当前要求,不需要进行扩展,并且也不允许任何从此类继承的类来重写这种方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。在声明类中,一个 final 方法只被实现一次。

  • final修饰局部变量(变量定义在方法的内部,是局部变量)

        final修饰的基本类型,锁死值 final int i =0; 再赋值就错了,但是可以做加减乘除。
        final修饰的引用类型,锁死内存地址 (引用类型中的成员不受影响)

  • final修饰成员变量

        成员变量的定义位置,是在类中,方法外面。但是成员变量在内存中有默认值,final修饰成员变量的时候,锁住的不是内存默认值,而是我们程序人员手动的赋值。
其初始化可以在两个地方:一是其定义处,也就是说在 final 变量,定义时直接给其赋值;二是在构造方法中。这两个地方只能选其一,要么在定义时给值,要么在构造方法中给值,不能同时既在定义时赋值,又在构造方法中赋予另外的值。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KK在编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值