LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3311|回复: 5

[原创]JAVA入门学习(一)

[复制链接]
发表于 2004-5-24 12:33:45 | 显示全部楼层 |阅读模式
今天的这篇文章就跟大家讲讲怎样看懂JAVA程序源代码。
    JAVA语言博大精深,光讲语法和API就足以出上一两本书了,因此对于语法和其他细节方面的问题在这里就不再罗嗦了,大家可以从http://java.sun.com/j2se/1.4.1/docs/api/找到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 subClassName) throws
                ClassNotFoundException,
                InstantiationException,
                IllegalAccessException;
}
[/php]
第一个类:
[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();
        }

}
[/php]
发表于 2004-6-30 12:34:51 | 显示全部楼层
感觉没有写完的样子^_^
 楼主| 发表于 2004-6-30 12:48:07 | 显示全部楼层
是没有写完,应该加上未完待续。。。。。
发表于 2004-6-30 15:34:38 | 显示全部楼层

re

如果抛异常是不是表示你生病了
发表于 2004-7-2 00:32:49 | 显示全部楼层
引用原文:
"因此人也是属于动物这个更抽象的概念,这就是接口(Interface)了。接口要比抽象类更加抽象,就行走来说,动物的行走是五花八门,有两条腿、三条腿还有更多条腿走的,因此接口也是不能直接生成对象的。"

没看懂:"因此人也是属于动物这个更抽象的概念,这就是接口(Interface)了",为什么呢?前后有直接逻辑关系么, 希望解释一下?
我的肤浅理解,应该 people is derivation of mammal,  即人可以是哺乳动物的派生类。
sun 对 interface 的解释:http://java.sun.com/docs/books/t ... epts/interface.html
发表于 2004-7-2 10:26:21 | 显示全部楼层
接口的作用不能仅仅站在编程的角度来理解,而是要放到用接口来实现封装的角度来角度来理解。封装的目的在于封装变化。保证软件中的任何一个部分的更改不会影响到其余的部分。接口的好处就在于保证模块的外部不需要知道模块内部是如何实现的,只要接口不变,模块内部的变化就不会影响到其它模块。这样一旦模块的源代码发生更改,它的影响只限于模块内部,而不会扩散到整个软件中去。有效避免了改正一个bug结果产生了更多的bug。从而保障了软件的可维护性。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表