JAVA 教程

JAVA 教程:包含了所有代写案例以及部分答案

  • 对象 Java中的所有内容都在类和对象中。Java对象持有状态,状态是在对象中一起保存的变量,我们称它们为字段或成员变量。 让我们从一个例子开始: class Point {     int x;     int y;} 该类定义了具有x和y值的点。 为了创建此类的实例,我们需要使用关键字new。 Point p = new Point( … 继续阅读“Java基础教程:Objects对象”

    :
  • 例外 每次发生错误时都会抛出异常。可以在http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html上访问所有内置异常的列表。 使用try / catch语句处理异常。所有可能引发异常的代码都必须遵循Catch或Specify要求。要遵循该要求,只需将可能引发错误的代码包装在try块中。如果由于某种原因,它不适合或者您不能使用try / catch,则必须使用throws关键字指定方法/函数可以抛出的所有异常 public&n … 继续阅读“Java基础教程:例外”

    :
  • 泛型提供编译时类型安全性,允许程序员在编译时捕获无效类型。 由于此功能通常与集合一起使用,因此我们将重点关注集合。泛型允许用户设置集合的类型以限制可以将哪种对象插入集合中。用户也不必转换从集合中获取的值。 声明泛型时,它必须有一个类型参数,指定集合中的元素类型。例如,要声明包含字符串的列表,您可以编写List名称 = new ArrayList <>();

    :
  • 教程 接口是类模板。虽然不是严格要求,但它们是面向对象编程的组织结构的一部分。接口通过指定方法名称,返回类型(或void)和方法参数(按类型和名称)来定义类的方法。这些方法定义称为签名。因为这是一个模板,所以方法签名不包含代码。代码被输入到接口的实现中。接口用于多态学。 请注意有关接口的这两个要点: 如果一个类实现了一个interface,那么所有接口的方法都必须出现在类中。 的implements创建被一个接口建模的类时的关键字被使用。 一个类比 想想从一块木头上切下鸭子诱饵。首先,使用模板将 … 继续阅读“Java基础教程:接口 API”

    :
  • 副标题#e# Hashtable简介 Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表办理斗嘴问题,容量不敷(高出了阀值)时,同样会自动增长。 Hashtable也是JDK1.0引入的类,是线程安详的,能用于多线程情况中。 Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。 HashTable源码分解 Hashtable的源码的许多实现都与HashMap差不多,源码如下(插手了较量 … 继续阅读“Java集合汇总源码分解:Hashtable源码分解”

    :
  • 副标题#e# HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表办理斗嘴问题,容量不敷(高出了阀值)时,同样会自动增长。 HashMap长短线程安详的,只是用于单线程情况下,多线程情况下可以回收concurrent并发包下的concurrentHashMap。 HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。 HashMap源码分解 HashMap的源码如下(插手了较量具体的注 … 继续阅读“Java集合汇总源码分解:HashMap源码分解”

    :
  • Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 LinkedList是JDK1.0引入了,它的许多实现要领都插手了同步语句,因此是线程安详的(其实也只是相对安详,有些时候照旧要插手同步语句来担保线程的安详),可以用于多线程情况。 LinkedList没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随时机见。 Vector源码分解 Vector的源码如下(插手了较量具 … 继续阅读“Java集合汇总源码分解:Vector源码分解”

    :
  • 副标题#e# ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,雷同于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安详的,只能用在单线程情况下,多线程情况下可以思量用Collections.synchronizedList(List l)函数返回一个线程安详的ArrayList类,也可以利用concurrent并发包下的CopyOnWriteArrayList类。 ArrayList实现了Serializable接口,因此它支持序 … 继续阅读“Java集合汇总源码分解:ArrayList源码分解”

    :
  • 副标题#e# LinkedList简介 LinkedList是基于双向轮回链表(从源码中可以很容易看出)实现的,除了可以当做链表来操纵外,它还可以当做栈、行列和双端行列来利用。 LinkedList同样长短线程安详的,只在单线程下适合利用。 LinkedList实现了Serializable接口,因此它支持序列化,可以或许通过序列化传输,实现了Cloneable接口,能被克隆。 LinkedList源码分解 LinkedList的源码如下(插手了较量具体的注释): package ja … 继续阅读“Java集合汇总分解:LinkedList源码分解”

    :