java基础(面向对象高级部分)

多态

认识多态

对象多态:

行为多态:

编译看左边,运行看右边:

变量是编译看左边,运行也看左边(变量没有多态性):

使用多态的好处

比如People p1 = new Student();

p1.run()

下面有两千行代码,不可能重写写吧,可以直接把Student更换掉,这样子是不是更方便。

1.多态下,右边对象是解耦合的。

2.多态下,父类类型作为方法的形参,可以接收一切子类对象,方便更便利。

对象回调思想:

我把对象调给你,然后你又用对象调用我方法。

3.多态下存在的一个问题:不能直接调用子类独有的功能(类型转化解决)。

多态下的类型转换问题

类型转换

强制类型转换:可以解决多态下不能直接调用子类独有方法的问题:

类型转换异常:

final

常量

静态代码块里面赋值:

只有两种赋值 ,1.直接赋值,2.静态代码块赋值。

抽象类

抽象类场景:

相关推荐
mifengxing8 小时前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析
java·算法·leetcode·排序算法
markinmarkin10 小时前
Spring 中Bean 的作用域有哪些?
java·后端·spring
山荷枝11 小时前
Java学习第十天
java·学习
matlabgoodboy11 小时前
计算机毕设代做|Java Python Matlab APP 全套开发设计
java·python·课程设计
程序员雷欧13 小时前
环形缓冲区深度解析:从基础原理到Disruptor源码的全面剖析
java
xiaoqiMikko13 小时前
Dependabot 面板全绿,不代表你的 Tomcat 没洞
java·spring boot
前端开发张小七13 小时前
Java 学习笔记 · 第三课:多线程与并发编程(线程、同步、死锁、Lock、乐观锁与悲观锁)
java·后端·程序员
花生了什么事o13 小时前
JVM 垃圾回收:对象如何被判定和回收
java·jvm
evans在进步14 小时前
HashMap 为什么线程不安全?ConcurrentHashMap 如何解决?
java·spring boot·spring
我命由我1234514 小时前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法