java整理四---对象
对象
面向对象编程本质:以;类的方式组织代码,以对象的形式组织(封装)数据
面向对象三大特性:封装 继承 多态
类和对象的关系:
1.类是一种抽象的数据类型,它是对某一类事务整体描述/定义,但是并不能代表某一个具体的事物
2.对象是抽象概念的具体实例
构造器:
也叫构造方法
注意:
一个类即使什么都不写,也会存在一个构造方法,一旦定义了有参构造,无参就必须显示定义
作用:
1.用来初始化值
2.使用new关键字,本质是在调用构造器
构造器特点:
1.必须和类的名字相同
2.必须没有返回类型,也不能写void
创建对象内存分析
小结
封装
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
3.系统的可维护性增加了
继承 (可以ctrl + h 查看继承关系)
1.子类继承了父类,就会拥有父类的全部方法
2.Java中,所有的类都默认直接或间接继承Object
3.Java中只有单继承(一个子类只能有一个父类,一个父类可以有多个子类)
super
1.隐藏代码:子类会默认调用父类的无参构造(不会默认调用有参构造)
2.调用父类的构造器,必须要在子类构造器的第一行,不然会报错 (且 this(); 和super();只能选一个,因为两个都只能在第一行才不报错)
重写: (需要有继承关系,子类重写父类的方法,只能是非静态方法)
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大但不能缩小 public>Protected>Default>private
4.抛出的异常:范围可以被缩小,不能扩大 ps: Exception> ClassNotFoundException
重写,子类的方法和父类必要一致:方法体不同!
为什么需要重写:
1.父类的功能,子类不一定需要,或者不一定满足
多态
注意事项:
1.多态是方法的多态,属性没有多态
2.父类和子类需要有联系 否者会转换异常(ClassCastException)
3.存在条件:继承关系,方法需要重写,父类引用子类对象! Father f1 = new Son();
不能被重写的;
1.static 方法,属于类,它不属于实例
2.final 常量;
3.private 方法;
instanceof :
判断前面的对象是否属于后面的类,或者属于其子父类
前提保证:instanceof前面引用变量编译的类型要么与后面的类型相等,要么与后面的类型具有父子继承关系,不然编译不通过,报错无法比较(连false也无法得出)
static内的代码块只会被执行一次,且优先于构造方法执行
abstrac;
1.不能new这个抽象类,只能靠子类去实现(我尝试在new的时候要求我重写代码);约束(抽象的抽象)
2.抽象类中可以写普通的方法
3.抽象方法必须在抽象类中
interface 接口
作用:
1.约束
2.定义一些方法,让不同的人实现
3.public abstract 方法
4.public static final 常量
5.接口不能被实例化,接口中没有构造方法
6.implements可以实现多个
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?