理解:
1.接口与抽象类的区别:实现的方法,变量,实现类,继承,方法修饰符,
2.接口的作用以及接口定义的形式
接口类:Callback.java
package 抽象_接口;
/**<<<<--- 抽象类和抽象方法--->>>>
*1.抽象方法:没有 方法体的方法 为抽象方法,抽象方法一定要声明为abstract
*2.抽象类:含有抽象方法的类一定是抽象类。抽象类一定要声明为abstract
*3.抽象类不能直接实例化对象,抽象类只是提供一种数据模版,一般由子类实现抽象父类中所有的抽象方法,然后实例化对象。
*4.抽象类的子类如果没有完全实现抽象父类中的抽象方法,则也要声明为abstract,也不能实例化对象
* <<<<--- 接口 --->>>>
* 1.接口是一种特殊的抽象类。里面只有常量或抽象方法
* 2.接口中的变量默认权限为public static final.
* 3.接口中的变量可以用接口名调用.
* 4.接口中的方法默认权限为public abstract,故接口中的方法为抽象方法。所以接口也不能实例化对象。
* 5.接口的实现类在实现了接口中所有的抽象方法后才可以被实例化使用,否则,接口的实现类要声明为抽象类,接口实现类的实现方法权限一定为public.
* 6.接口的定义:修饰符 interface 接口名 其中修饰符可以没有,没有则为默认访问范围,有只能为public,当它声明为public时,则接口可以被任何代码使用
* <<<<--- 包 --->>>>
* 1.声明格式:package pkg; pkg 是包名
* 2.一个多级包的声明的通用形式如下:package pkg1[.pkg2[.pkg3]];
*/
//声明一个带单个整型参数的callback( )方法。当实现一个接口方法时,它必须声明成public
public interface Callback {
void callback(int param);
}
abstract class A {
abstract void callme();//抽象方法,没有方法体(没有{})
}
package 抽象_接口;
//实现接口:一旦接口被定义,一个或多个类可以实现该接口。为实现一个接口,在类定义中包括implements 子句
//一般形式如下:修饰符 class 类名 implements 接口名 {...方法体...}
class Client implements Callback {
// Implement Callback's interface
public void callback(int p) {
System.out.println("callback called with " + p);
}
}