面向对象编程
面向对象编程
1.面向对象的基本知识架构体系
下面为面向对象编程主要的要点,可以根据以下的要点进行学习以及理解面向对象编程
2.面向对象之类和对象
2.1 相关概念以及含义
- 面向对象:面向对象是指以属性和行为的观点去分析现实中的事物
- 类:指现实生活中客观存在的实体,在Java语言中对象体现为内存空(堆区中的一块区域)间中的一块存储区域
- 面向对象精髓:封装、继承、多态
- 引用:引用变量主要用于记录对象在堆区中的内存地址信息,便于下次访问,即在栈中创建存储空间存储在 在堆区中创建的内存空间的地址,方便后续测试中能够访问
例如:Person person = new Person();
new Person()在堆区中,person在栈中 - 可变长参数:返回值类型 方法名(参数的类型… 参数名)
2.2注意点
- 面向对象编程与面向过程编程的区别?哪些语言是面向对象编程?哪些是面向过程编程?
- [ 1 ] 面向对象: 教育机构的校长叫A老师(数学老师)去教授A班级,校长知道A有这个能力,并且叫他去做
- [ 2 ] 面向过程:教育机构的校长叫A老师(数学老师)去教A班级,从头到尾各种过程都安排好的,早上几点钟到门口,讲解数学题目多长时间,讲解解题思路多久,提问几个学生,讲到哪个题目时提问学生等等
- [ 3 ] 面向语言:Java-面向对象语言、C-面向过程语言、C++ --即是面向对象又是面向过程语言
- 创建类的注意事项
- a.当一个类定义完毕后,可以使用new关键字来创建该类的对象,这个过程叫做类的实例化。
- b.创建对象的本质就是在内存空间的堆区申请一块存储区域, 用于存放该对象独有特征信息
- 成员变量默认初始值都是多少?
- a.
引用数据类型 = null
- b.
基本数据类型变量 = 0
- c.
布尔数据类型变量 = false
- 可变长参数的注意事项都有哪些?
- 方法参数部分指定类型的参数个数是可以改变的,也就是0~n个
- 一个方法的形参列表中最多只能声明一个可变长形参,并且需要放到参数列表的末尾(避免发生歧义)
- 参数传递注意事项有哪些?
- 1.基本数据类型的变量作为方法的参数传递时,形参变量数值的改变通常不会影响到实参变量的数值,因为两个变量有各自独立的内存空间
- 2.引用数据类型的变量作为方法的参数传递时,形参变量指向内容的改变会影响到实参变量指向内容的数值,因为两个变量指向同一块内存空间
- 3.当引用数据类型的变量作为方法的参数传递时,若形参变量改变指向后再改变指定的内容,则通常不会影响到实参变量指向内容的改变,因为两个变量指向不同的内存空间
2.3案例解析
// 自定义成员方法打印参数传入的整数数据
// int ia = ib = 10;
void show1(int ia) {
ia = 200;
System.out.println("show方法中:ia = " + ia); // 10 200
}
// 自定义成员方法打印参数传入的数组内容
void show2(int[] arr1) {
arr1 = new int[2]; // 加上改行代码后,相当于在堆区中又重新申请一块内存空间
arr1[0] = 200;
System.out.println("show方法中:arr1[0] = " + arr1[0]);