天天看点

面向对象的学习心得

面向对象这一章节,就是比较抽象一点其实,其实你只要仔细看看 你会发现这里还是那么的难 (狗头保命),面向对象我认为男的地方就是经常搞不清楚自己现在所操作的对象是谁。

例如:

学生管理系统
// 定义数组的有效下标
	static int size = 8;
/**
	 * 利用工具类 来帮学生数组按照成绩(年龄)排序
	 */
	public void sortStudent() {
		int i = size;
		new Tools().sortTools(students,i);
		System.out.println("排序完成 ------------");
	}

tool工具类
public class Tools {
	public void sortTools(Student[] students , int size) {
		for (int i = 0; i < size-1; i++) {
			/*
			 * 将Student类转换成StudentSort类 然后调用接口中的方法 如果返回值为True则位置不变 否则交换位置
			 */
			//选择排序
			int index = -1;
			for (int j = i; j <  size-1; j++) {
				StudentSort s = (StudentSort) students[i];
				if (!s.sort(students[j + 1])) {
					index = j+1;
				}
				if(index != -1) {
					Student temp = students[i];
					students[i] = students[index];
					students[index] = temp;
				}
			}

		}

	}
}
           

当初我就是没仔细想 一开始没有把有效下标传过去 就只是浏览整个数组的长度所有 一直再报空指针异常。

或者是:

这样一堆.set.get你要一直清楚自己在操作什么,不能把自己慢慢给绕进去 如果逻辑绕不过来就会很难。

总之面向对象这里还是需要多练习 就算不懂也没关系 你就多敲几遍然后多读读 你就会发现自己慢慢越来越通透

学习java 的十字箴言:敲一遍,敲一遍,在敲一遍