目录
7.1类与对象
7.1.1类与对象的关系
7.1.2类与对象关系示意图
7.1.3类与对象的区别和联系
1、类是抽象的,概念的,代表一类事物,比如人类,动物...,即它是数据类型
2、对象是具体的,实际的,代表一个具体事务,即实例
3、类是对象的模板,对象是类的一个个体,对应一个实例
7.1.4对象在内存中存在形式(必须搞清楚)
7.1.5属性/成员变量/字段
7.1.6如何创建对象
1、先声明再创建;
Cat cat; //声明对象
cat = new Cat(); //创建
2、直接创建:
Cat cat = new Cat();
7.1.7如何访问属性
1、基本语法:对象名.属性名;
案例:cat.name;
cat.age;
2、类和对象的内存分配机制(重要)
7.1.8类和对象的内存分配机制
1、Java内存的结构分析:
1、栈:一般存放基本数据类型(局部变量)
2、堆:存放对象(Cat cat,数组等)
3、方法区:常量池(常量,eg:字符串),类加载信息
2、Java创建对象流程简单分析
1、先加载Person类信息(属性和方法信息,只会加载一次)
2、在堆中分配空间,进行默认初始化
3、把地址赋给p,p就指向对象
4、进行指定初始化, 比如 p.name =”jack” p.age = 10
7.2成员方法
7.2.1基本介绍
7.2.2成员方法快速入门
7.2.3方法的调用机制原理(重点)
注:方法执行完毕或者执行到return,则会销毁。
7.2.4为什么需要成员方法
7.2.5成员方法的好处
1、提高代码的复用性
2、可以将实现的细节封装起来
7.2.6成员方法的定义
访问修饰符 返回数据类型 方法名(形参列表) {//方法体
语句:
return 返回值;
}
1、形参列表:表示成员方法输入 cal(int n) , getSum(int num1, int num2);
2、返回数据类型:表示成员方法输出,void表示没有返回值
3、方法主体:表示为了实现某一功能代码块
4、return 语句不是必须的
7.2.7注意事项和使用细节
7.2.8类定义的完善
7.3成员方法传参机制(重点)
7.3.1基本数据类型的传参机制
7.3.2引用数据类型的传参机制
1、案例一
2、 结论及示意图
引用类型传递的是地址(传递的也是值,但是值是地址),可以通过形参影响实参!
3、再看一个案例,下面的方法会对原来的对象有影响吗?
p=null 和p = new Person(); 对应示意图
7.3.3成员方法返回类型是引用类型应用实例
7.4方法递归调用(重点)(待更)
7.4.1基本介绍
7.4.2递归能解决什么问题
7.4.3递归举例
7.4.4递归重要规则
7.4.5课堂练习
7.4.6递归调用应用实例-迷宫问题
7.4.7递归调用应用实例-汉诺塔
7.4.8递归调用应用实例-八皇后问题
7.5方法重载(OverLoad)
7.5.1基本介绍
java中允许同一个类中,多个同名方法存在,但要求,形参列表不一致。
7.5.2重载的好处
1、减轻了起名的麻烦
2、减轻了记名的麻烦
7.5.3快速入门案例
7.5.4注意事项和使用细节
1、方法名:必须相同
2、形参列表:必须不同(形参类型或个数或顺序,至少有一样不同,参数名无要求)
3、返回类型:无要求
7.5.5练习题
7.6可变参数
7.6.1基本概念
java 允许将同一个类中多个同名同功能但参数不同的方法,封装成一个方法。
就可以通过可变参数实现
7.6.2基本语法
访问修饰符 返回类型 方法名(数据类型...形参名){
}
7.6.3快速入门案例
7.6.4注意事项和使用细节
7.6.5课堂练习
7.7作用域
7.7.1基本使用
7.7.2注意事项和细节使用
7.8构造方法/构造器
7.8.1看一个需求
7.8.2基本语法
7.8.3基本介绍
构造方法又叫构造器(constructor),是类的一种特殊方法,它的主要作用是完成新对象的初始化。
特点:1、方法名和类名相同
2、没有返回值
3、在创建对象时,系统会自动调用该类的构造器完成对象的初始化
7.8.4快速入门
7.8.5注意事项和使用细节
7.8.6课堂练习题
7.9对象创建的流程分析
案例
7.10this关键字
7.10.1先看一段代码,并分析问题
7.10.2深入理解this
7.10.3this的注意事项和使用细节
1、this关键字可以访问本类的属性、方法、构造器
2、this用于区分当前类的属性和局部变量
3、访问成员方法的语法:this.方法名(参数列表);
4、访问构造器语法:this(参数列表);注意只能在构造器使用(即只能在构造器中访问另外一个构造器,必须放在第一条语句)
5、this不能在类定义的外部使用,只能在类定义的方法中使用
7.10.4this课堂案例