Day 12 面向对象
1. 对象、过程、类
生活中面向对象:
找合适的人,做合适的事
比如说:你想吃烤羊排,出去找一个能烤羊排的烧烤店点餐吃就行
面向过程:
亲历亲为,自力更生,所有的过程都是经历
比如说你自己做烤羊排,要准备材料,要动手操作,做好了才能吃
类的定义:
对于一类事物的统称,包括 属性描述和行为描述
属性描述:
以人类为例:身高、体重、年龄、性别、样貌
行为描述:
以人类为例:吃饭、睡觉、上班、学习、打游戏
对象的定义:
具体的、独立的、唯一的个体
类 | 对象 |
---|
人类 | 张飞 、关羽、刘备 |
狗类 | 忠犬八公、我家的小灰、张三家的小黄、史努比 |
2. Java中定义类【重点】
2.1 类的格式
格式;
class 类名 {
属性描述
行为描述
}
类名:大驼峰命名法,见明知意
可以认为是一个数据类型名,自定义数据类型
属性描述:对于当前类的属性的描述,以人类为例:身高、体重、年龄、性别、样貌
行为描述: 对于当前类的行为的描述,以人类为例:吃饭、睡觉、上班、学习、打游戏
2.2 定义一个类
class Person {
String name;
int age;
char gender;
public void eat(String food) {
System.out.println("吃" + food);
}
public void sleep() {
System.out.println("月亮不睡你不睡,你是熬夜小宝贝");
}
public void game() {
System.out.println("坦克世界");
}
}
3. Java中创建对象【重点】
3.1 创建对象【new】
以Scanner扫描器为例:
Scanner sc = new Scanner(System.in);
赋值号左侧:
Scanner :
【类名】,Scanner 类,数据类型名
sc :
对象名,sc 可以看作是Scanner 类的对象,同时也是一个【引用数据类型的变量】
对象名的命名规范要求符合小驼峰命名法,以数组命名为例:
int[] arrayDemo = new int[10];
赋值号右侧:
new :
在内存的堆区申请当前对象所需的空间
擦除申请空间中的所有数据,所有的内存空间中的二进制位为0
Scanner(System.in)
和类同名的方法
目前使用 类名();即可
格式如下:
类名 对象名 = new 类名();
3.2 创建Person类对象
public class Demo1 {
public static void main(String[] args) {
Person saokai = new Person();
3.3 【使用成员变量】
在数组中
int[] arr = new int[10];
我们引入了一个 arr.length 的知识点,得到的是数组的容量,是一个属性
操作类中的成员变量我们也使用这样的格式:
类对象.成员变量名 这里既可以赋值操作,也可以取值操作
saokai.name = "骚凯";
saokai.age = 24;
saokai.gender = '男';
System.out.println("name :" + saokai.name);
System.out.println("age : " + saokai.age);
System.out.println("gender : " + saokai.gender);
3.4 【使用成员方法】
在Scanner扫描器里我们用 sc.nextInt() 来定义方法
其中 sc 就是Scanner类的对象名
所以调用成员方法的格式:
对象名.成员方法(所需参数);
saokai.eat("烤羊排");
saokai.sleep();
saokai.game();
4. 总结
1. 自定义类的格式
2. 创建类对象格式
3. 通过类的对象名调用成员变量的格式
4. 通过类的对象名调用成员方法的格式