2006-7-30 数组的复制与排序,Runtime类与Process类,Class类与反射API,Runtime类与单例设计模式

来源:互联网 发布:dwg转pdf mac 编辑:程序博客网 时间:2024/06/03 09:18

1、数组的相关操作

n       Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数。

n       数组的复制:System.arraycopy(),包括五个参数。对引用类型对象数组是浅拷贝。

n       数组的排序:Arrays.sort(),在java.utils包中,返回值为void。使用arrays.sort()的数组必须实现Comparable接口,该接口只有惟一一个方法compareTo()

n       已排序的数组中查找某个元素:Arrays.binarySearch(),返回值为int,代表数组中的索引。

 

2、封装类

n       针对八种基本数据类型定义的相应的引用类型-封装类。

基本数据类型

封装类

boolean

Boolean

byte

Byte

short

Short

int

Integer

long

Long

char

Character

float

Float

double

Double

封装类都有类似的方法,具体参见JDK文档。

此外,所有的封装类都是只读类,内容一旦创建就不能修改,每一个基本数据类型只能创建一个不能修改的封装类。

 

3Class

n       Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。

n       获取Class实例的三种方式:

       1)利用对象调用getClass()方法获取该对象的Class实例;

       2)使用Class类的静态方法forName(),用类的名字获取一个Class实例(要处理forName()方法抛出的异常);

       3 运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例。

n       在运行期间,如果我们要产生某个类的对象,Java虚拟机(JVM)会检查该类型的Class对象是否已被加载。如果没有被加载,JVM会根据类的名称找到.class文件并加载它。一旦某个类型的Class对象已被加载到内存,就可以用它来产生该类型的所有对象。

n       newInstance() 调用类中缺省的构造方法。newInstance()返回对象为Object类,需要显式转换。

n       利用反射机制,可以动态的实现类的加载。(java.lang.reflect 对于包含子包的类,必须用import单独加载。)

 

4Runtime类和Process

   Runtime类提供了应用程序和Java环境之间的一个接口。

n       每一个Java程序都有一个Runtime类的单一实例。

n       通过Runtime.getRuntime()获取Runtime类的实例。

n       通过Runtime.exec()来执行外部程序。

n       Runtime类是使用单例模式的一个例子。

n       Process类是抽象类,只能通过Runtime类来实例化。

 

5、设计模式

n       在我们进行程序设计时,逐渐形成了一些典型问题和问题的解决方案,这就是软件模式。

n       每一个模式描述了一个在我们程序设计中经常发生的问题,以及该问题的解决方案。

n       当我们碰到模式所描述的问题,就可以直接用相应的解决方法去解决这个问题,这就是设计模式。

n       设计模式参考书籍《 Java与模式》作者:阎宏 电子工业出版社出版

n       单例(Singleton)模式

   1)一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类。

   2)单例类的一个最重要的特点是类的构造方法是私有的,从而避免了外部利用构造方法直接创建多个实例。

单例类的实现

class Singleton

{

       private static final Singleton st=new Singleton();

       private Singleton(){}

       public static Singleton getInstance()

       {

              return st;

       }

}

 
原创粉丝点击