java学习-面向对象
面向对象:以类的方式组织代码。以对象的组织封装数据
特性:封装,继承,多态
break:跳出整个循环
continue:跳出一个循环
非静态调用用new,静态调用直接使用。
类与对象。
类中只包含两种东西:属性和方法
对象用来封装类的数据。
类中即使什么都没有也会纯在一个构造器
构造器作用:实例化初始值
使用new关键字必须要有构造器,使用new本质实在调用构造器
alt+insert自动创建构造器;
构造器方法名和类名相同,且没有返回值
封装:
private私有
1.提高程序安全性;
2.隐藏程序内部细节
3.统一接口
4.提高系统的可维护性
应用private时,创建get,set类用new来接受,然后输出
继承:
1.java只有单继承没有多继承
2.关键词:extends
3.子类继承父类用public
4.java中所有类默认继承object
5.私有的东西无法继承
6.调用父类的构造器必须在子类构造器的第一行
快捷键:ctrl+h
注意:
1.super是调用父类的构造方法
2.super只能出现在子类的构造方法中
3.super和this不能同时使用
VS this
前提:
this:没有继承也可以使用
super:必须要有继承才可使用
对象:
this:本类的对象
super:父类的应用
构造:
this:本类的构造
super:父类的构造
重写:
1.重写和静态没有任何关系
2.关键词只能是public
3.重写需要有继承关系,而且是子类重写父类
4.方法名相同,参数相同,修饰符范围可以扩大(pravate可以扩展为public,反过来不行)
5.抛出来的异常范围可以缩小,但是不能扩大
6.重写子类和父类必须一致 ,方法体不同
为什么重写:
1.父类的东西子类不一定需要
多态
1.new出来的对象是实际确定的,但是指向的引用类型是不确定的
2.多态是方法的多态,属性没有多态
instandof:
X instandof Y是否编译通过要看x和Y是否有父子关系
类型转换:
1.子类转换为父类可能会丢失一些方法
2.与基础类型转换类似
3.方便方法的调用,减少重复的代码
3.存在条件:有继承的关系,方法需要重写,父类引用指向子类对象(father s1=new son())
静态代码块:
1.只执行一次(
抽象类:
关键字:abstract
1.抽象类的所有方法,其子类继承以后必须实现其的实现方法,除非子类也是抽象类,那么由子子类实现
2.抽象类不能new',只能靠子类去实现
接口:
1.接口可以多继承
2.接口只能只有规范,自己无法写方法,实现约束和实现分离
3.接口的本质就是契约
关键字:interface
4.接口中的所有东西都是抽象的
5.接口都需要实现类
6.类实现接口的关键字implements
7.接口不能被实例化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)