摘要: 递归的本质 逻辑上自己调用自己 系统上帮你压栈 比如我要解决一个问题A 我必须先解决他的子问题B B也有子问题C C也有........ 相当于一种依赖的关系 递归 去回 耗内存 效率低 一切递归可以改成非递归 master公式 T(N)= T(N/2)+0(N) 待续 归并 mergeSort 分 阅读全文
posted @ 2018-12-28 23:39 yonkki 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 造一个子类对象要先调用父类的构造方法 有静态块先调用父类的静态块 静态初始化块执行顺序(学完继承再看这里): 1. 上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到我们的类的静态初始化块为止。 2. 构造方法执行顺序和上面顺序一样!! 在创建对象的时候,对象 阅读全文
posted @ 2018-12-03 17:12 yonkki 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 1)对于==,比较的是值是否相等 如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是是否是同一个对象 如果没 阅读全文
posted @ 2018-12-02 17:33 yonkki 阅读(121) 评论(0) 推荐(0) 编辑
摘要: static成员变量属于类,而不是对象 static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。 Java中的static关键字不会影响到变量或 阅读全文
posted @ 2018-12-02 17:25 yonkki 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 成员变量与局部变量的区别 方法的形式参数与局部变量同等对待 1、在类中的位置不同 成员变量:在类中方法外面 局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中) 2、在内存中的位置不同 成员变量:在堆中(方法区中的静态区) 局部变量:在栈中 3、生命周期不同 成员变量:随着对象的创建而存 阅读全文
posted @ 2018-11-01 22:54 yonkki 阅读(164) 评论(0) 推荐(0) 编辑
摘要: arrayCopy( arr1, 2, arr2, 5, 10); 意思是;将arr1数组里从索引为2的元素开始, 复制到数组arr2里的索引为5的位置, 复制的元素个数为10个. 举例: Int[] arr1 ={1,2,3,4,5}; arrayCopy(arr1, 3, arr1, 2, 2) 阅读全文
posted @ 2018-10-28 17:15 yonkki 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 重写Overrid与重载Overload的区别 重写 子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 重载 就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。 调用方法时通过传递给它们的不同参数个数和参数类型来决定具 阅读全文
posted @ 2018-10-15 22:22 yonkki 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有 阅读全文
posted @ 2018-10-15 14:51 yonkki 阅读(196) 评论(1) 推荐(0) 编辑
摘要: AAA 阅读全文
posted @ 2018-10-12 22:36 yonkki 阅读(93) 评论(0) 推荐(0) 编辑