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

多态

认识多态

对象多态:

行为多态:

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

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

使用多态的好处

比如People p1 = new Student();

p1.run()

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

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

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

对象回调思想:

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

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

多态下的类型转换问题

类型转换

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

类型转换异常:

final

常量

静态代码块里面赋值:

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

抽象类

抽象类场景:

相关推荐
Mahir0834 分钟前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit2 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码2 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事2 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海2 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠3 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特4 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU4 小时前
Spring IoC&DI
java·数据库·spring
один but you5 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
是码龙不是码农5 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool