面向对象(Java)

构造方法只能在对象实例化的时候调用

this可以作为方法参数,表示调用方法的当前对象

this可以作为方法返回值,表示返回当前对象

封装

通过方法访问数据,隐藏类的实现细节

static:类对象共享,类加载时产生,销毁时释放;非静态方法可以调用静态成员,静态方法中调用非静态成员要先实例化

构造代码块:创建对象时调用,优于构造方法执行

初始化顺序:父类静态成员->子类静态成员->父类对象构造->子类对象构造

final修饰的变量可以在构造代码块或构造方法中赋值

final修饰的引用类型的变量,不可以修改引用指向的对象,但是可以更改里面的值

继承(A is a B)

代码复用

Java中的继承是单继承

子类可以访问父类非私有成员,父类不可以访问子类特有成员

方法重写:方法名相同,参数列表相同(参数顺序、个数、类型);当返回值是void或基本数据类型时,必须相同,当返回值是引用类型时,可以是父类也可以是子类;访问修饰符大于等于父类的访问范围

访问修饰符 本类 同包 子类 其他
private
默认
protected
public

super:父类对象的引用

多态

编译时多态:方法重载

运行时多态

必要前提:1满足继承关系2父类引用指向子类对象(向上转型、隐式转型、自动转型)

instanceof

abstract抽象类(避免无意义的实例化)

不允许实例化,可以通过向上转型,指向子类对象

接口

一个类同时兼容多个类的特征,不同类具备相同特征

相关推荐
草莓熊Lotso16 分钟前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day12
c语言·开发语言·c++·刷题
hqxstudying19 分钟前
MyBatis 和 MyBatis-Plus对比
java·数据库·mysql·mybatis
不喜欢学数学er26 分钟前
算法第五十三天:图论part04(第十一章)
开发语言·python·图论
源码哥_博纳软云27 分钟前
JAVA国际版多商户运营版商城系统源码多商户社交电商系统源码支持Android+IOS+H5
android·java·ios·微信·微信小程序·小程序·uni-app
你怎么知道我是队长36 分钟前
python---构造函数、析构函数
开发语言·python
猿java38 分钟前
为什么复杂的架构一定要做分层设计?
java·面试·架构
whitepure40 分钟前
万字详解常用数据结构(Java版)
java·数据结构·后端
天天摸鱼的java工程师42 分钟前
你们公司的 QPS 是怎么统计出来的?这 5 种常见方法我踩过一半的坑
java·后端·面试
heeheeai43 分钟前
jvm对象内存占用
开发语言·jvm·内存分析
whitepure1 小时前
万字详解常用算法(Java版)
java·后端·算法