java面对对象01
面对对象01
面向过程 & 面向对象
-
面向过程思想
- 步骤清晰简单,第一步做什么,第二步什么...
- 面对过程适合处理一些简单的问题
-
面对对象思想
-
物以类聚,分类的思维模式,思考问题首先解决问题需要哪些分类,然后对分类进行独立思考。最后,才对某个分类下的细节进行面对过程的思考。
-
面向对象适合处理复杂的问题,适合处理需要多人协作的任务。
-
-
对于描述复杂的事物,为了宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向对象过程的思路去解决。
属性+方法=类
面向对象
-
面向对象编程(Object-Oriented Programming,OOP)
-
面向对象编程的本质就是:以类的方式组织带代码,以对象的组织(封装)数据。
-
抽象
-
三大特性:
- 封装
- 继承
- 多态
-
从认识论角度考虑是先有对象后有类。对象,是具体的事物。类是抽象的,是对对象的抽象。
-
从代码运行角度考虑是先有类后有对象。类是对象的模板。
类与对象的关系
- 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但并不能代表某一具体的事物。
代码示例:
main
//类:抽象的,需要实例化
//类实例化后会产生一个自己的对象!
//student对象就是一个student类的实例!
Student student = new Student();
Student seven = new Student();
Student saya = new Student();
seven.name = "seven";
seven.age = 19;
System.out.println(seven.name);
System.out.println(seven.age);
saya.name = "saya";
saya.age = 19;
System.out.println(saya.name);
System.out.println(saya.age);
类
public class Student {
//属性:字段
String name;//null
int age;//0
//方法
public void study(){
System.out.println(this.name+"在学习");
}
}
创建与初始化对象
- 使用new关键字创建对象
- 使用new关键字创建的时候,除了分配内存空间之外还会给创建好的对象进行默认初始化以及对类中构造器的调用。
- 类中的构造器也称为构造方法,是在创建对象的时候必须调用的。并且构造器有以下两个特点:
- 必须和类的名字相同
- 必须没有返回类型,也不能写void
- 必须掌握
- 作用:
- new 本质在调用构造器方法
- 初始化对象的值
- this.xxx [代表当前类的属性]
代码示例:
main:
package oop.Demo02;
//一个项目一个只存在一个Main方法
public class Application {
public static void main(String[] args) {
Person person = new Person();//调用无参构造器
Person person = new Person("seven");//调用有参构造器
Person person = new Person("seven",19);//调用与其参数类型和数量相同的有参构造器
System.out.println(person.name);//seven
}
}
类:
public class Person {
//一个类即使什么也不写,他也会存在一个构造器方法
//显示的定义构造器
String name;
//实例化初始值
//1.使用new关键字,本质实在调用构造器
//2.用来初始化值
public Person(){
this.name = "saya";
}
//有参构造:一旦定义了有参构造,无参就必须显示定义
public Person(String name){
this.name = name;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
IDEA构造器快捷键:Alt + insert
创建对象内存结构分析
小结
-
类与对象
类是一个模板:抽象,对象是一个具体的实例
-
方法
定义、调用!
-
对应的引用
引用类型:基本类型(8)
对象对象是通过引用来操作的:栈-->堆
-
属性:字段Field 成员变量
默认初始化:
数字:0 0.0
char:u0000
boolean:false
引用:null
修饰符 属性类型 属性名 = 属性值
-
对象的创建和使用
- 必须使用new 关键词创造对象,构造器
- 对象的属性
- 对象的方法
- 必须使用new 关键词创造对象,构造器
-
类:
静态属性 属性
动态的行为 方法
封装、继承、多态
Java基础总结自狂神说Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】