面向对象
重载:在同一个类中,存在多个方法名相同,参数列表不同的方法
重写:在具有继承关系的两个类中,子类对父类中的某个方法的方法体进行重新实现
区别:
重载在编译期绑定方法,重写在运行期绑定方法
继承中不继承的成员:
构造方法
私有成员
static成员
访问控制修饰符:
如果修饰外部类,只能使用public和默认的
修饰内部类,4种都可以使用
修饰类的成员:4种都可以
static键字
修饰方法:
- 通过类名直接调用
a) 一个类中static可以直接调用static的原因是省略的类名
b) static资源可以通过对象来访问,但是不推荐,推荐使用类名来访问 - static方法中不能使用this关键字,super关键字
a) 调用一个非static的方法,除了传递常规的参数外,其实还会隐式的传递调用当前方法
的引用的对象过去。 - static方法不能调用非static方法原因
a) static方法体中没有this关键字
修饰代码块:
属于类的代码块,在类加载期间执行的代码块,只执行一次,可以用来在程序中加载静态资源。
应用场景,静态资源:内容确定之后不变,要供程序中的多个对象使用的资源
static修饰三类成员:
成员变量,代码块:在类加载时期完成变量或代码块的初始化
方法:得调用才执行
final关键字
final无论修饰以下三种中那一种,它的作用都是最终的意思。
修饰变量:
可以修饰成员变量,也可以修饰局部变量
如果修饰成员变量,在声明的同时必须初始化,如果修饰局部变量,可以先声明,后初始化。
变量的值一旦确定,不可以被修改
修饰方法:作用:表示方法是不可变的。体现在:方法不可以被重写
修饰类:作用:表示此类时不可变的。体现在:类不可以被继承
static final 修饰成员变量 则表示常量
static final int A = 100;
常量命名规则:
- 常量名需要全部大写,如果是由一个单词组成,所有字母大写,如果由多个单词组成,所有字母大写,多个单词之间用_隔开。
- 通常常量的访问控制修饰符都是public
作用:在程序中经常会出现一些值固定不变的量,此时就需要将他们定义成常量。
注意点:static final常量会在编译期被替换
抽象类和接口的比较:
1.抽象类中有构造器,而接口中没有,但是两者都不能实例化
2.抽象类中可以有变量,可以有常量,而接口中只能有常量
3.抽象类中可以有抽象方法,也可以有普通方法,而接口中只能有抽象方法
4.抽象类和接口都可以用于继承,但是抽象类的继承是单继承,接口的继承是多继承
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次 .NET 某发证机系统 崩溃分析
· 微服务架构学习与思考:SOA架构与微服务架构对比分析
· tomcat为什么假死了
· 聊一聊 Linux 上对函数进行 hook 的两种方式
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一周 Star 破万的开源项目「GitHub 热点速览」
· 上周热点回顾(6.9-6.15)
· 记一次 .NET 某SaaS版CRM系统 崩溃分析
· 不写代码,让 AI 生成手机 APP!保姆级教程
· 千万级大表,如何做性能调优?