
如上图所示,我们通过一个“猫类”来引入,我们在这个过程中将猫的特性提取了出来,从而可以通过该类来定义不同的猫,即创建不同的对象
1)类是抽象的,概念的,代表一类事物,比如人类、猫类...,即它是数据类型
2)对象是具体的,实际的,代表一个具体事物,即是实例
3)类是对象的模板,对象是类的一个个体,对应一个实例
Java内存的结构分析:
1)栈:一般存放基本数据类型(局部变量)
2)堆:存放对象(Cat cat,数组等)
3)方法区:常量池(常量,比如字符串),类加载信息


从概念或叫法上看,成员变量=属性=field(字段)
即成员变量是用来表示属性的
引入:某些情况下,我们需要定义成员方法(简称方法),比如人类除了有一些属性外,我们人类还有一些行为,比如说话、跑步等,这时我们就要用成员方法才能完成
下面我们对方法的调用机制进行分析

成员方法的好处:
1)提高代码的复用性
2)可以将实现的细节封装起来,然后供其他用户来调用即可
成员方法的定义:

成员方法的细节:


成员方法传参机制:
1)基本数据类型的传参机制
基本数据类型,传递的是值(值拷贝),形参的任何改变不改变实参
2)引用数据类型的传参机制
引用类型传递的是地址,可以通过形参改变实参
简单的说:递归就是方法自己调用自己,每次调用传入不同的变量
递归有利于编程者解决复杂问题,同时让代码变得简洁
方法递归调用的内存分析:

递归的重要规则:






7.6 构造方法/构造器



简单地说:哪个对象调用this,this就代表哪个对象

