摘要: ArrayList和LinkedList都是实现list接口,它们不同如下: ArrayList是基于索引的数据接口,底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。与此相对,linkedList是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下, 阅读全文
posted @ 2017-09-21 12:56 不念不畏 阅读(656) 评论(0) 推荐(0) 编辑
摘要: Array可以包含基本类型和对象类型,ArrayList只能包含对象类型 Array大小固定,ArrayList的大小是动态变化的。 ArrayList提供了更多的方法和特性:比如 :addAll(),removeAll(),iterator()等等。 对于基本数据类型,集合使用自动装箱来减少编码工 阅读全文
posted @ 2017-09-21 12:45 不念不畏 阅读(3880) 评论(0) 推荐(0) 编辑
摘要: 集合类接口指定了一组叫做元素的对象。集合类接口的每一种具体的实现类都可以以他自己的方式对元素进行保存和排序。有的集合允许重复的键,有些不允许。 java集合类里面最基本 的接口: Collection:代表一组对象,每一个对象都是它的子元素。 Set:不含重复元素的Collection List:有 阅读全文
posted @ 2017-09-21 12:14 不念不畏 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 同步方法默认是用this或者当前Class对象作为锁; 同步代码块可以选择以什么来加锁,比同步方法更细颗粒度,我们可以选择只同步会发生同步问题的部分代码而不是整个方法。 阅读全文
posted @ 2017-09-20 21:57 不念不畏 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 创建线程有两种方式 继承Thread类 实现Runnable接口 实现Runnalble接口这种方式更受欢迎,因为这不需要继承Thread类。在应用设计中已经继承了别的对象的情况下,这需要多继承(而java不支持多继承),只能实现接口。同时,线程池也是非常高效的,很容易实现和使用。 阅读全文
posted @ 2017-09-20 21:53 不念不畏 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 值传递是对基本类型而言的,传递的是该变量的副本,改变副本不影响原变量。 引用传递一般是对对象型变量而言的,传递的是该对象地址副本,并不是原对象本身。所以引用对象进行操作会同时改变原对象。 一般认为java内的传递都是值传递。 阅读全文
posted @ 2017-09-20 21:10 不念不畏 阅读(1026) 评论(0) 推荐(0) 编辑
摘要: 接口(interface)可以说是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract 类型,接口中成员变量默认为public static final(既然一个变量被final修饰,那么这个变量就变成一个常量,变量必须初始化成常量) 语法区别: 1 阅读全文
posted @ 2017-09-20 20:37 不念不畏 阅读(281) 评论(0) 推荐(0) 编辑
摘要: java不支持多继承,只支持单继承(即一个类只能有一个父类)。但是java接口支持多继承,即一个子接口可以有多个父接口。(接口的作用是用来扩展对象的功能,一个子接口继承多个父接口,说明子接口扩展了多个功能,当类实现接口时,类就扩展了相应的功能) 阅读全文
posted @ 2017-09-20 20:24 不念不畏 阅读(7499) 评论(0) 推荐(1) 编辑
摘要: 当新对象被创建的时候,会调用构造函数。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,java编译器会为这个类创建一个默认的构造函数。 java中构造函数的重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数都必须有他唯一的参数列表。 java不支持像C++中那样的复制构造 阅读全文
posted @ 2017-09-20 19:59 不念不畏 阅读(3039) 评论(0) 推荐(0) 编辑
摘要: java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。 覆盖者可能不会限制它所覆盖的方法的访问。 重载(Overloading) (1)方法重载是让类以统一的方法处理不同类 阅读全文
posted @ 2017-09-20 19:45 不念不畏 阅读(26572) 评论(7) 推荐(1) 编辑