韩顺平java基础学习笔记一

面向对象编程(基础部分)

7.1类和对象

#7.1.5类与对象的关系示意图
在这里插入图片描述#7.1.6类与对象的关系示意图
在这里插入图片描述
7.1.8类和对象的区别和联系

  1. 类是抽象的,概念的,代表一类事物,比如人类,猫类…, 即它是数据类型.
  2. 对象是具体的,实际的,代表一个具体事物, 即 是实例.
  3. 类是对象的模板,对象是类的一个个体,对应一个实例.

7.1.9对象在内存中存在形式(重要的)必须搞清楚
在这里插入图片描述7.1.10 属性/成员变量/字段

  1. 从概念或叫法上看: 成员变量 = 属性 = field(字段) (即 成员变量是用来表示属性的,授课中,统一叫 属性)
  2. 属性是类的一个组成部分,一般是基本数据类型,也可是引用类型(对象,数组)。比如我们前面定义猫类 的 int age 就
    是属性
    注意事项和细节说明
    在这里插入图片描述
    7.1.11 如何创建对象
    在这里插入图片描述
    7.1.12 如何访问属性
    基本语法:对象名.属性名;
    案例演示赋值和输出
    cat.name ;
    cat.age;
    cat.color;

7.1.13 类和对象的内存分配机制
在这里插入图片描述
在这里插入图片描述

7.2 成员方法

7.2.3方法的调用机制原理:(重要!-示意图!!!)
在这里插入图片描述
7.2.5成员方法的好处

  1. 提高代码的复用性
  2. 可以将实现的细节封装起来,然后供其他用户来调用即可

7.2.6成员方法的定义
在这里插入图片描述

7.2.7注意事项和使用细节
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.3 成员方法传参机制(非常非常重要)

7.3.1基本数据类型的传参机制
在这里插入图片描述

public class MethodParameter01 { 
	//编写一个 main 方法 
	public static void main(String[] args) { 
		int a = 10; 
		int b = 20; //创建 AA 对象 名字 obj 
		AA obj = new AA(); 
		obj.swap(a, b); //调用 swap 
		System.out.println("main 方法 a=" + a + " b=" + b);//a=10 b=20 
	} 
}
class AA { 
	public void swap(int a,int b){ 
		System.out.println("\na 和 b 交换前的值\na=" + a + "\tb=" + b);//a=10 b=20 
		//完成了 a 和 b 的交换 
		int tmp = a; 
		a = b; 
		b = tmp; 
		System.out.println("\na 和 b 交换后的值\na=" + a + "\tb=" + b);//a=20 b=10 
	} 
}

在这里插入图片描述
7.3.2引用数据类型的传参机制

  1. 结论及示意图
    引用类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

7.4 方法递归调用(非常非常重要,比较难)

略(下次再补)

7.5 方法重载(OverLoad)

7.5.1基本介绍
java 中允许同一个类中,多个同名方法的存在,但要求 形参列表不一致!
比如:System.out.println(); out 是 PrintStream 类型

7.5.2重载的好处

  1. 减轻了起名的麻烦
  2. 减轻了记名的麻烦

7.5.4注意事项和使用细节

7.6 可变参数

7.6.1基本概念
java 允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法。
就可以通过可变参数实现

7.6.2基本语法
访问修饰符 返回类型 方法名(数据类型… 形参名) {
}
7.6.3快速入门案例(VarParameter01.java)
看一个案例 类 HspMethod,方法 sum 【可以计算 2 个数的和,3 个数的和 , 4. 5,

public class VarParameter01 { 
	//编写一个 main 方法 
	public static void main(String[] args) { 
		HspMethod m = new HspMethod(); 
		System.out.println(m.sum(1, 5, 100)); //106 
		System.out.println(m.sum(1,19)); //20 
	} 
}
class HspMethod { 
	//可以计算 2 个数的和,3 个数的和 , 4. 5, 。。
	//老韩解读
	//1. int... 表示接受的是可变参数,类型是 int ,即可以接收多个 int(0-多) 
	//2. 使用可变参数时,可以当做数组来使用 即 nums 可以当做数组 
	//3. 遍历 nums 求和即可 
	public int sum(int... nums) { 
		//System.out.println("接收的参数个数=" + nums.length); 
		int res = 0; 
		for(int i = 0; i < nums.length; i++) { 
			res += nums[i]; 
		}
		return res; 
	} 
}

7.6.4注意事项和使用细节
在这里插入图片描述

7.7 作用域

7.7.1基本使用
在这里插入图片描述
7.7.2注意事项和细节使用
在这里插入图片描述

7.8 构造方法/构造器

7.8.2基本语法
在这里插入图片描述

7.8.3基本介绍
在这里插入图片描述

7.8.5注意事项和使用细节
在这里插入图片描述

7.9 对象创建的流程分析

7.9.1看一个案例
在这里插入图片描述
在这里插入图片描述

7.10 this 关键

7.10.2 深入理解 this
在这里插入图片描述
7.10.3 this 的注意事项和使用细节
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值