当前位置:   article > 正文

【Java基础学习】面向对象编程

【Java基础学习】面向对象编程

开始时间: April 10, 2024
结束时间: April 16, 2024
阶段: Done

基础部分

类与对象的关系

  • 类是抽象的,概念的,代表一类事物
  • 对象是具体的,实际的,代表一个具体事物(实例)
  • 类是对象的模板,对象是类的一个个体,对应一个实例

对象在内存中存在形式

class Cat{
	String name;
	int age;
	String color;
}

// new 的过程:加载类的信息
// 属性信息
// 方法信息
Cat cat = new Cat();
cat.name = "Root";
cat.age = 18;
cat.color = "white";
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

请添加图片描述

类和对象的内存分配机制

  • 栈: 一般存放基本数据类型(局部变量)
  • 堆: 存放对象(Cat cat , 数组等)
  • 方法区:常量池(常量,比如字符串), 类加载信息

Java 创建对象的流程简单分析

Person p = new Person();
p.name = “jack”;
p.age = 10
  • 1
  • 2
  • 3
  • 先加载 Person 类信息(属性和方法信息, 只会加载一次)
  • 在堆中分配空间, 进行默认初始化(看规则)
  • 地址赋给 p , p 就指向对象
  • 进行指定初始化, 比如 p.name ="jack",p.age = 10

方法的调用机制

推荐阅读
相关标签