教你深入了解Java中接口的使用
本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2010/0221/20469.php
接口申明必须有interface关键字和接口的名字,public指明任意类均可以使用这个接口,默认情况下,只有与该接口定义在同一个包中的类才可以访问这个接口。extends 与类申明中的extends 基本相同,不同的是一个接口可以有多个父接口,用逗号隔开。而一个类只能有一个父类。子接口继承接口中所有的常量和方法。在类的申明中用implements来表示一个类实现某个接口,在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法(可以是空的实现但一定要实现),否则该类就是一个抽象类。一个类可以实现多个接口。接口的作用,一言以蔽之,就是标志类的类别(type of class)。把不同类型的类归于不同的接口,可以更好的管理他们。OO的精髓,我以为,是对对象的抽象,最能体现这一点的就是接口。
接口不是类,尤其是绝对不能使用new 操作符实例化接口;
Module md=new Module()//错误
不过,虽然不能构造接口对象,但还是可以声明接口变量。
Module md;
接口变量必须指向一个实现了该接口的类的对象;
x=new MotorModule();//只要实现了Module就对了
可以用instanceof来检验对象是否实现了某个接口(只要它属于的类或者父类实现了某个接口都可以);
if(anObject instanceof Module){...}
接口在软件发布的时候是向用户公开的,用户可以通过调用实现接口的类的接口方法,而如果不实现接口用户是不能调用的。
也就是我们常可以听到的服务提供商这样说:"如果你们的类遵循一个特定的接口,那么我们将执行这些服务
java 接口的使用举例
//以下程序说明 并不严谨,只是为了方便初学者初步的理解接口的应用
interface Interface //接口 {
&nbs
相关文档:
package cn.com.view.read;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcel {
......
一、Java ClassLoader
1,什么是ClassLoader
与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。
此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。
而且,Java ClassLoader ......
import java.util.Enumeration;
public class CipherTest implements Enumeration {
private int N;
private int c[], k;
private Object[] objs;
public CipherTest(Object[] items) {
N = items.length;
c = new int[N + 1];
for (int i = 0; i <= N; i++)
c[i] = i;
objs = items;
k = 1 ......
这几天网络有问题,所以今天一起总结出来
类的小结
1,类抽象了所有具有一定共性的实体的共同特称。一个类中,变量用来表示属性,方法用来表示功能,类把数据和对数据的操作封装成一个整体。程序语言中,通过类创建对象。
2,构造函数的作用在于声明类的对象后,为其分配储存单元,即创建实例。
3,不同对象的实例变量将 ......
一些java类中为什么需要重载 serialVersionUID 属性。
在Java中,软件的兼
容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后重新部署了,那么在这种情况下,
用老软件来读取新文件格式虽然不是什么难事,但是有可能丢失一些信息。
serialVersionUID
来解 ......