今天的这篇文章就跟大家讲讲怎样看懂JAVA程序源代码。
JAVA语言博大精深,光讲语法和API就足以出上一两本书了,因此对于语法和其他细节方面的问题在这里就不再罗嗦了,大家可以从[url]http://java.sun.com/j2se/1.4.1/docs/api/[/url]找到J2SE1.4.1的全部API。现在,我们从一些概念开始。
JAVA是一门面向对象程序语言,对于面向对象其实已经不用我在这里多讲了,从C++到SMALLTALK再到JAVA,面向对象在SUN公司的手里被发挥到了极致。
什么是对象?对象是由类对象生成的实例。这样说实在是太抽象了,估计没什么人能懂。什么叫类对象生成的实例?我自己也不清楚自己在讲什么了:(。不如这样,我打个比方,比如我就是一个对象,我的名字叫iDay,这是我的一个属性(Property);我习惯用右手写字,这是我的一个方法(Method)。那么,像我一样的人的一个抽象概念就是类了(Class)。
除了这些,我还有其他的一些属性和方法,比如我直立行走等等。哎,这个是人都站着走路的呀,说对了,人这个概念就是一个抽象类(Abstract Class),它不能直接来指明是哪一个人,因为人这个概念范围太广了,所以抽象类不能直接生成对象。
我们都知道,人是高等动物,因此人也是属于动物这个更抽象的概念,这就是接口(Interface)了。接口要比抽象类更加抽象,就行走来说,动物的行走是五花八门,有两条腿、三条腿还有更多条腿走的,因此接口也是不能直接生成对象的。
下面我们写几个例子:
第一个接口:
PHP 代码:
/*
 * net/sf/hitnet/dao/DAOFactory.java
 * 
 * 创建日期 2004-3-25
 *
 */
package net.sf.hitnet.dao;

/**
 * @author iday
 *
 * 这是一个DAO的工厂接口,用于产生调用不同的DAO对象。
 * 
 */
public interface DAOFactory {
    
    public 
Object create(String subClassNamethrows
        ClassNotFoundException

        
InstantiationException
        
IllegalAccessException;

第一个类:
PHP 代码:
/*
 * net/sf/hitnet/dao/HibernateDAOFactory.java
 * 
 * 创建日期 2004-3-25
 *
 */
package net.sf.hitnet.dao;

/**
 * @author iday
 *
 *    用于生成DAO对象,实现于DAOFactory接口。
 */
public class HibernateDAOFactory implements DAOFactory {
    
    
/**
     * 构造方法
     */
    
private HibernateDAOFactory() {
    }

    
/**
     * DAOFactory的create()方法的实现
     * 
     * @see net.sf.hitnet.dao.DAOFactory#create(java.lang.String)
     */
    
public Object create(String subClassName)
        
throws
            ClassNotFoundException
,
            
InstantiationException,
            
IllegalAccessException {
        return Class.
forName(subClassName).newInstance();
    }