我宁愿写bug⚠️,也不愿什么都不做 ❗️
💚哈喽!大家好!💚
❤️我是 一看就会,一写就废 的 浩浩🔍❤️
💙让我带你编程带你飞,带你飞进垃圾堆!💙
💜 如果对你有所帮助,请给我点个赞👍!💜
键盘敲烂💥,工资过万💰
📌
面向对象
1. 面向对象概念
-
OPP :Procedure Oriented Programming 面向过程的编程
-
OOP :Object Oriented Programming 面向对象的编程
-
面向过程 OPP
- 自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里
-
面向过程 OOP
- 去饭店,张开嘴:老板!来一份鱼香肉丝!
2. 面向对象编程的基本特征
- 三大特征
- 封装 :将功能封装成一个个独立的单元,减小耦合,避免牵一发而动全身,方便对程序的修改。
- 继承 :代码重用,减少编码量,间接减少维护成本。
- 多态 :不同的场合做出不同相应。
OPP :
1. 打开冰箱
2. 把大象放进冰箱
3. 关闭冰箱门
OOP :
人{
打开(冰箱){
冰箱.开门();
冰箱.关门();
}
操作(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.关门();
}
}
冰箱{
开门();
关门();
}
大象(){
进入(冰箱);
}
3. 类和属性的定义
- 类和对象的关系
- 类:就是一个模板,是一类对象的模板,他描述一类对象的行为和状态,定义了这些对象应该有的属性及方法。
- 对象:万物皆对象。对象是类的具体体现。
- 对象的实质是:属性(成员变量)+ 行为(方法或函数)
4. java类的基本结构
- 类的结构:属性、方法、构造方法、内部类、块。
5. 类的声明形式以及作用
-
类的声明
-
[访问权限修饰符] [修饰符] class 类名 { 类体 }
-
-
类的作用: 类就是一个模板,定义多个对象共同的属性和方法
-
例:
public class Student { /*[访问权限修饰符] [修饰符] class 类名 { 类体 } 1. 权限修饰符 1. public : 公有的,代表所有的其他类都能访问这个类 2. default : 默认的,可以省略不写,代表是包权限,只有在本包下 类才能访问 2. class ;关键字,代表定义类 3. Student : 类名,代表类的名字,大驼峰 4. 类的作用 : 类就是一个模板,定义多个对象共同的属性和方法 */ }
6. 属性的声明形式及作用
-
属性的定义
-
属性即对象应有的数据
注:属性又称成员变量,是声明在类中的变量,在方法体中声明的变量为局部变量或临时变量
-
-
属性的声明 方式
-
[访问权限修饰符] [修饰符] 数据类型 属性名[=初值]
-
例:
public class Student { /* 1. 属性属性即对象应有的数据。 注:属性又称成员变量,是声明在类中的变量,不是声明在方法中的变量 属性的声明方式:[访问权限修饰符] [修饰符] 数据类型 属性名[=初值] 1.访问权限修饰符: 1) private(私有的,只有本类可以访问) 2) protected(受保护的,本类,子类,不同包的子类可以访问) 3) default(默认的,本包的类可以访问) 4) public(公共的,所有的类都可以访问) 2.数据类型:java数据类型,int short byte long float double boolean char 数组 字符串 枚举 类 接口 3.属性名:变量名,java标识符,小驼峰 4.属性可以只定义不赋初始值,在不赋初始值的情况下,属性的值是该类型的默认值 */ protected String name; //姓名属性:null int age; //年龄属性,默认值:0 }
-
7. 成员变量和临时变量
- 成员变量
- 堆内存,声明在类体内方法外;
- 可以在声明时赋值或者构造方法赋值,若不赋值,会有默认的初始值;
- 作用域:整个类都可以使用。
- 临时变量
- 栈内存, 方法内,包括方法的参数;
- 声明和赋值之后才能使用,否则编译就会报错;
- 作用域:找括号(变量声明在哪对{}里,那么它就在哪对{}内生效),出了括号就不认识了。
- 成员变量和临时变量如果变量名相同,那么采用就近原则,以局部变量为准。
8. 创建对象
-
调用无参数的构造方法
类名 对象名 = new 该类的构造方法(); 例:Student stu = new Student();
-
调用有参数的构造方法
类名 对象名 = new 该类的构造方法(参数1,参数2...); 例:Student stu = new Student("lily",18)
-
创建对象的作用:要想访问一个类中的非私有成员,必须先创建该类对象,通过对象名来访问。
9. 访问对象的成员属性和方法
- 访问类的属性:对象名.属性
- 调用类的方法:对象名.方法名(实参列表)