JAVA基础培训(8),认识接口
时间:2011-04-07 csdn 老紫竹
这讲我们来重点熟悉接口的使用,包括接口的声明,继承,属性的定义以及类的实现 等。
最终的目录结构
先看相关的代码
lession8/Lession8.java
package lession8;
import lession8.otherpackage.InterfaceOtherPackagePublic;
/**
* 老紫竹JAVA基础培训(8),认识接口。<br>
*
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
public class Lession8 {
public static void main(String[] args) {
// 可以直接使用接口的属性
System.out.println(Test1.Number1);
// final类型是不能修改的
// Test1.Number2 ++;
}
}
/**
* 实现本package的接口
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
class Test1 implements InterfaceSamePackage {
// 接口的方法必须是public的
// 虽然那面没写,但也是,这是规定
// 实现的方法也必须是public的
// 不写或者protected或者private都是错误的
@Override
public void testA() {
}
@Override
public void testB() {
}
}
/**
* 实现其它package的接口。<br>
* 对接口里面的方法实现同样必须是public的。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
class Test2 implements InterfaceOtherPackagePublic {
}
class Test3 implements InterfaceSamePackageAbstract {
@Override
public void testA() {
}
}
/**
* 类可以实现多个接口.<br>
* 即使那些接口之间已经存在继承关系也没问题。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
class Test4 implements InterfaceOtherPackagePublic,
InterfaceSamePackageAbstract, InterfaceSamePackageExtends {
// 你要实现的方法是这些接口要求实现的总和
// 也就是每个接口里的方法你都必须实现
// #######################
// #### 注意,############
// #######################
// InterfaceSamePackage 和 InterfaceSamePackageAbstract
// 我们有2个接口定义了各自的方法,但名字和参数(类型和顺序)完全相同
// 我们的实现只需要有一个就行了
// 如果2个接口要实现的功能不一样,强烈建议不要用相同的名字和参数
// 这属于设计问题,很严重的设计问题。
@Override
public void testA() {
}
@Override
public void testB() {
}
}
/**
* 如果你这个类只能实现所有接口的部分功能,可以用abstract类。<br>
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
abstract class Test5 implements InterfaceOtherPackagePublic,
InterfaceSamePackageAbstract, InterfaceSamePackageExtends {
@Override
public void testB() {
}
}
JAVA基础培训(8),认识接口(2)
时间:2011-04-07 csdn 老紫竹
lession8/InterfaceSamePackage.java
package lession8;
/**
* 接口例子A.
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
public interface InterfaceSamePackage {
// 接口里面声明的属性
// 默认必须是 public static final 的
// 无论你怎么写,结果都一样
// 不能使用 protected 修饰
// 以下几种写法无任何区别,结果都是一样的。
public static final int Number = 0;
int Number1 = 1;
public int Number2 = 2;
public final int Number3 = 3;
final int Number4 = 4;
static int Number5 = 5;
// 对象类型必须初始化。
public static final String name = "java2000.net";
void testA();
public void testB();
}
lession8/InterfaceSamePackageAbstract.ja |