AP计算机科学A(APcomputer science A)复习备考攻略视频教程
42899 人在学
这讲我们来重点熟悉接口的使用,包括接口的声明,继承,属性的定义以及类的实现 等。
最终的目录结构
先看相关的代码
lession8/Lession8.java
package lession8;
import lession8.otherpackage.InterfaceOtherPackagePublic;
/**
* 老紫竹java基础培训(8),认识接口。
*
*
* @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的接口。
* 对接口里面的方法实现同样必须是public的。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
class Test2 implements InterfaceOtherPackagePublic {
}
class Test3 implements InterfaceSamePackageAbstract {
@Override
public void testA() {
}
}
/**
* 类可以实现多个接口.
* 即使那些接口之间已经存在继承关系也没问题。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
class Test4 implements InterfaceOtherPackagePublic,
InterfaceSamePackageAbstract, InterfaceSamePackageExtends {
// 你要实现的方法是这些接口要求实现的总和
// 也就是每个接口里的方法你都必须实现
// #######################
// #### 注意,############
// #######################
// InterfaceSamePackage 和 InterfaceSamePackageAbstract
// 我们有2个接口定义了各自的方法,但名字和参数(类型和顺序)完全相同
// 我们的实现只需要有一个就行了
// 如果2个接口要实现的功能不一样,强烈建议不要用相同的名字和参数
// 这属于设计问题,很严重的设计问题。
@Override
public void testA() {
}
@Override
public void testB() {
}
}
/**
* 如果你这个类只能实现所有接口的部分功能,可以用abstract类。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
abstract class Test5 implements InterfaceOtherPackagePublic,
InterfaceSamePackageAbstract, InterfaceSamePackageExtends {
@Override
public void testB() {
}
}