diff --git "a/32 \351\202\223\347\220\252/20221223\345\205\263\344\272\216\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\254\224\350\256\260.md" "b/32 \351\202\223\347\220\252/20221223\345\205\263\344\272\216\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..165e63c4e00aad6cf11dff2370784da153de1ce0 --- /dev/null +++ "b/32 \351\202\223\347\220\252/20221223\345\205\263\344\272\216\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\254\224\350\256\260.md" @@ -0,0 +1,86 @@ +## 一、类和对象 + +### 1.面向对象介绍 + +- 并不是一个技术,而是一种编程指导思想 +- 以什么形式组织代码;以什么思路解决问题 + +### 2.类与对象 + +- 什么是类:类是对现实生活中一类具有共同属性和行为的事物的抽象 +- 什么是对象:对象是能够看得见摸得着的真实存在的实体 +- 类是对象的抽象,对象是类的实体 + +### 3.对象的属性和行为 + +- 属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值 +- 行为:对象能够执行的操作 + +### 4.类的属性和行为 + +- 属性:在类中通过成员变量来体现(类中方法外的变量) +- 行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可) + +### 5.对象的使用 + +- 创建对象 + 1. 格式:类名 对象名 = new 类名(); + 2. 示例:Phone p = new Phone(); +- 使用对象 + 1. 使用成员变量 + - 格式:对象名.变量名 + - 示例:p.brand + 2. 使用成员方法 + - 格式:对象名.方法名(参数); + - 示例:p.call(); + +### 6.练习 + +```java +//需求:定义一个学生类,然后定义一个学生测试类,在学生测试类中通过对象王城成员变量和成员方法的使用 +public class Student { + String name; + int age; + char sex; + public void eat() { + System.out.println(age + "岁的" + sex + "学生" + name + "会吃饭!"); + } + public void doHomeWork() { + System.out.println(age + "岁的" + sex + "学生" + name + "会写作业!"); + } +} + +public class StudentTest { + public static void main(String[] args) { + Student xm = new Student(); + xm.name = "小明"; + xm.age = 18; + xm.sex = '男'; + + Student xm = new Student(); + xm.name = "小红"; + xm.age = 19; + xm.sex = '女'; + + xm.eat(); + xh.eat(); + xm.doHomeWork(); + } +} +``` + +## 二、对象内存分配 + +### 1.Java内存分配 + +1. 什么是Java内存分配:Java程序在运行时,需要在内存中分配空间,为了提高运算效率就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据的方式和内存管理方式。 +2. 栈:所有局部变量都会在栈内存中创建 + - 局部变量:定义在方法中的变量或者方法声明上的变量 + - 方法执行都会加载到栈中进行 + - 局部变量特点:随着方法的调用而存在,随着方法的调用完毕而消失 +3. 堆:所有对象及其对应的实例变量和数组都将存储在此处 + - 可以理解为new出来的东西都存储在堆内存 + - 每一个new出来的东西都有一个地址值,使用完毕后会在垃圾回收期空闲时被回收 + - 实例变量(成员变量)有初始值: + - 基本引用数据类型:整数:0;浮点数:0.0;布尔:false;字符:空字符 + - 引用数据类型:null \ No newline at end of file