摘要:
一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。 而泛型很好的解决了这个问题,这也是Java SE5的重大变化之一,下面将会深入介绍泛型。 一 泛型的概念 泛型在java中有很重要的地位,在面向对象编程及各 阅读全文
摘要:
一 RTTI概念 认识Class对象之前,先来了解一个概念,RTTI(Run-Time Type Identification)运行时类型识别,对于这个词一直是 C++ 中的概念,至于Java中出现RTTI的说法则是源于《Thinking in Java》一书,其作用是在运行时识别一个对象的类型和类 阅读全文
摘要:
一 字符串 1、不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后的字符串内容。而最初的String对象则没有改变。 看看下面的代码: 输出如下: 当把q传递给upc 阅读全文
摘要:
异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的错误条件。当条件 阅读全文
摘要:
Collection是描述所有序列容器(集合)共性的根接口,它可能被认为是一个“附属接口”,即因为要表示其他若干个接口的共性而出现的接口。另外,java.util.AbstractCollection抽象类实现了Collection的默认实现,使得我们可以创建AbstractCollection的子 阅读全文
摘要:
在Java基础 -- 持有对象(容器)已经详细介绍到,集合(Collection)的种类有很多种,比如ArrayList、LinkedList、HashSet...。 由于集合的内部结构不同,很多时候可能不知道该怎样去遍历一个集合中的元素。所以为了使对集合内元素的操作更为简单,Java引入了迭代器模 阅读全文
摘要:
一 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构。 我们可以通过创建引用来持有对象,如 Class clazz; 也可以通过数组来持有多个对象,如 Class[] clazs = new Class[10]; 然而,一般情况下,我们并不知道要创建多少对象,或者以 阅读全文
摘要:
可以将一个类的定义放在另一个类的内部定义,这样的类就被称为嵌套类,包含嵌套类的类被称为外部类(outer class),也可以叫做封闭类。 嵌套类可以分为两种: 静态嵌套类(Static Nested Classes):使用static声明,一般称为嵌套类(Nested Classes); 非静态嵌 阅读全文
摘要:
抽象类和接口都是用来为子类提供统一的接口,或者说是共同部分。 一 抽象类 Java提供了一种叫做抽象方法的机制,这种方法只有声明而没有方法体。下面是抽象方法声明所采用的语句: 包含抽象方法的类叫做抽象类,如果一个类包含一个或多个抽象方法,该类就是抽象类,抽象类要使用abstract修饰。 如果直接使 阅读全文
摘要:
在Java中一个对象既可以作为它自己本身的类型使用,也可以作为它的父类类型使用。而把这种对某个对象的引用视为对其父类类型引用的做法被称作向上转型。 一 向上转型 下面我们看一个例子,有一个父类Instrument,派生的子类中Wind、Stringed、Brass。 可以看到输出为: 在Music类 阅读全文