java
smjor
这个作者很懒,什么都没留下…
展开
-
接口
接口接口中所有的方法都是public abstract; 定义为抽象类,只能用来继承,不能实例化;如果一个类中有抽象方法,那么这个类必须定义为抽象类抽象类没有方法体,如果一个类实现(implements)了抽象方法,那么这个类必须重写抽象方法(code implements-three);在接口中声明方法时,不能使用native、static、final、synchronized、priv原创 2017-04-13 09:40:57 · 332 阅读 · 0 评论 -
LinkedList
LinkedListLinkedList是采用双向循环链表实现的;利用LinkedList实现栈(stack)、队列(queue)、双向队列(double-ended queue);ArrayList和LinkedList的比较 ArrayList底层采用数组完成,而LinkedList则是以一般的双向链表(double-linked list)完成,其内每个对象除了数据本身外,还有两个引用原创 2017-04-18 17:02:35 · 248 阅读 · 0 评论 -
HashSet
HashSet实现Set接口的hash table(哈希表),依靠HashMap来实现的;(file 1)我们应为要存放到散列表的各个对象定义hashCode()和equals();(file 2)散列表 散列表又称为哈希表。散列表算法的基本思想是:以结点的关键字为自变量,通过一定的函数关系(散列函数)计算出对应的函数值,以这个值作为该结点存储在散列表中的地址;当散列表中的元素存放太满,就原创 2017-04-18 17:06:05 · 243 阅读 · 0 评论 -
TreeSet
TreeSetTreeSet是依靠TreeMap来实现的;TreeSet是一个有序集合,TreeSet中元素将按照升序排列,缺省是按照自然顺序进行排列,意味着TreeSet中元素要实现Comparable接口;我们可以在构造TreeSet对象时,传递实现了Comparator接口的比较器对象;HashSet和TreeSet的比较 HashSet是基于Hash算法实现的,其性能通常都优于Tr原创 2017-04-20 15:54:29 · 290 阅读 · 0 评论 -
HashMap
HashMapHashMap对key进行散列;keySet()、values()、entrySet();与TreeMap的比较 和Set类似,HashMap的速度通常都比TreeMap快,只有在需要排序的功能的时候,才使用TreeMapimport java.util.*;class HashMapTest{ public static void main(String[] ar原创 2017-04-20 15:55:11 · 208 阅读 · 0 评论 -
集合框架中的实现类-ArrayList
集合框架中的实现类-ArrayListArrayList:我们可以将其看作是能够自动增长容量的数组;(file 1)利用ArrayList的toArray()返回一个数组;(file 2)Array.asList()返回一个列表;(file 3)迭代器(Iterator)给我们提供了一种通用的方式来访问集合中的元素;(file 4)## file 1 ##import java.util原创 2017-04-17 15:40:55 · 301 阅读 · 0 评论 -
RandomAccessFile
RandomAccessFileRandomAccessFile类同时实现了DataInput和DataOutput接口,提供了对文件随机存取的功能,利用这个类可以在文件的任何位置读取或写人数据;RandomAccessFile类提供了一个文件指针,用来标志要进行读写操作的下一数据的位置;该方法把文件的读入,写出,写到一起了,是操作文件比较好的方法;import java.io.*;cla原创 2017-05-05 14:51:05 · 436 阅读 · 0 评论 -
static
staticJava中常用的内存区域 栈内存空间:保存引用的堆内存空间的地址堆内存空间:保存每个对象的具体属性内容全局数据区:保存static类型的属性全局代码区:保存所有的方法定义static不能调用任何非static内容的,(程序中所有的属性和方法必须在对象开辟堆内存之后才可以调用,而static类型在对象未被实例化时就可以被类名调用)理解main方法 pulic:表示此方法可以原创 2017-05-18 15:27:29 · 327 阅读 · 0 评论 -
final
final使用final声明的类不能有子类使用final声明的方法不能被子类所覆盖使用final声明的变量即成为常量,常量不可以修改final变量的命名规则:要去全部大写;#firstfinal class A{}class B extends A{ //不能继承使用final声明的类}#secondclass A{ public final void prin原创 2017-05-18 16:19:08 · 493 阅读 · 0 评论 -
基本的流类
基本的流类FileInputStream和FileOutputStream;(file 1) 节点流,用于从文件中读取或往文件中写入字节流。如果在gouzaoBufferedInputStream和BufferedOutputStream;(file 2) 过滤流,需要使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率;DataInputStream和DataOutputStr原创 2017-04-28 10:36:36 · 285 阅读 · 0 评论 -
线程wait-notify-notifyAll
wait-notify-notifyAll每一个对象除了有一个锁之外,还有一个等待队列(waitset),当一个对象刚创建的时候,它的等待队列是空的;我们应该在当前线程锁住对象的锁后,去调用该对象的wait方法;当调用对象的notify方法时,将从该对象的等待队列中删除一个任意选择的线程,这个线程将再次成为可运行的线程;当调用对象的notifyAll方法时,将从该对象的等待队列中删除所有等待原创 2017-04-13 10:11:18 · 294 阅读 · 0 评论 -
内部类
内部类在一个类中定义另一个类,这个类就叫做内部类或内置类(inner class);内部类可以让我们将逻辑上相关的一组类组织起来并由外部类(outer class)来控制内部类的可见性;当我们建立一个inner class时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的this reference形成的,使得内部类对象可以随意的访问外部类中所有的成员; public c原创 2017-04-13 09:43:05 · 243 阅读 · 0 评论 -
内部类2
内部类2在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明final(内部类可以定义在类中、方法中、判断语句中、块中);内部类可以声明为private或protected;还可以声明为abstract或final;非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部中才可声明static成员; file 1 pub原创 2017-04-13 09:49:44 · 258 阅读 · 0 评论 -
异常处理
异常处理打开一个不存在的文件、网络连接中断、数组小标越界、正在加载的类文件丢失等都会引发异常;Java中的异常类定义了程序中遇到的轻微的错误条件;Java中的错误类定义了程序周昂不能恢复的严重错误条件;如内存溢出、类文件格式错误等;这一类错误由Java运行系统处理,不需要我们去处理;Java程序在执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程原创 2017-04-13 09:51:56 · 217 阅读 · 0 评论 -
Java编程规范
Java编程规范package的命名 package的名字由全部小写的字母组成class和interface的命名 由大写字母开头而其它字母都小写的单词组成,例如Personclass变量的命名 变量的名字用一个小写字母开头,后面的单词用大写字母开头,例如:currentImageclass方法的命名 方法的名字用一个小写字母开头,后面的单词用大写字母开头static final变原创 2017-04-13 09:53:36 · 360 阅读 · 0 评论 -
“==”和“equals”的用法
“==”和“equals”的用法在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型,其余的都是引用类型。“==”是比较两个变量的值是否相等,“equals”是比较两个对象变量所代表的对象的内容是否相等;对象的内存分配图 当我们声明一个引用类型变量时,系统只为该变量分配了引用空间,并未创建一个具体的对象;当用new为原创 2017-04-13 09:59:48 · 860 阅读 · 0 评论 -
函数的调用-基本数据类型/引用类型
函数的调用-基本数据类型/引用类型在Java中,传参时,都是以传值的方式进行;对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝;## file 1 ##class test{ public static void change(int x,int y){ x = x + y; y = x - y; x = x - y原创 2017-04-13 10:02:27 · 612 阅读 · 0 评论 -
数组的相关操作
数组的相关操作在Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数;数组的复制:System.arraycoye(Object src, int srcPos, Object dest, int destPos, int length);(file 1)数组的排序:Arrays.sort();在已排序的数组中查找某个元素:Arrays.binarySearch()原创 2017-04-13 10:04:46 · 236 阅读 · 0 评论 -
多线程程序
多线程程序Java在语言级提供了对多线程程序设计的支持实现多线程程序的两种方式: 从Thread类继承;(file 1,file2)实现Runnable接口;(file 3) 大多数情况下,如果只想重写 run() 方法,而不重写其他 Thread 方法,那么应使用 Runnable 接口;Java运行时系统实现了一个用于调度线程执行的线程调度器,用于确定某一时刻由哪一个线程在CUP上运行原创 2017-04-13 10:05:55 · 300 阅读 · 0 评论 -
abstract
abstract注:抽象类是一种专门用来当作父类的类,目的是要设计者依据它来修改并创建新的类,抽象类不能直接创建对象(不能直接new),只能通过抽象类派生出新的类; 1. 包含一个抽象方法的类必须是抽象类; 2. 抽象类和抽象方法都要使用abstract关键字声明; 3. 抽象方法只需要声明而不需要实现 4. 抽象类必须被子继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法#定义一个原创 2017-05-18 16:21:59 · 711 阅读 · 0 评论