您的位置:首页 > 职场人生

黑马程序员-------接口和抽象类

2015-10-11 09:34 295 查看
/**
* @author Administrator
*
* @description 接口测试类
* @history
*/
interface Interface{
public static final String INFO = "helloeclipse";
public void print(); // 定义方法
public abstract void printInfo();
}
class I implements Interface{
public void print() {
// 方法实现
System.out.println(INFO); // helloeclipse
}
public void printInfo() {
// ...
}
}
public class InterfaceTestDemo {
/***@description
*@param args
*/
public static void main(String[] args) {
// 接口interface
// 接口interface和抽象类abstract一样不能直接实例化必须通过子类来实现
new Interface(){
public void print() {
// 匿名内部类,方法实现
System.out.println(INFO); // helloeclipse
}
public void printInfo() {
// ...
}
};
// 接口和抽象类对比,接口更像一种规范、抽象类更像一种模板
// 抽象类定义一些公共的实现,以及一些未实现的方法交给子类具体实现特定的功能-模板方法
}
}
/**
* @author Administrator
*
* @description 抽象类学习测试类
* @history
*/
abstract class Abstract{ // 定义抽象类
public final static String INFO = "helloeclipse"; // 定义全局变量/常量
abstract public void print(); // 定义抽象方法
// 抽象类不能直接实例化,抽象类的子类如果不是抽象类那么一定要实现所有的抽象方法
}
class AbstractZiLei extends Abstract{ // 定义抽象子类
public void print() { // 实现子类方法
System.out.println(INFO);
}
}
public class AbstractTestDemo {
/**
*@description
*@param args
*/
public static void main(String[] args) {
// 接口和抽象类interface,abstract
// 抽象类:含有抽象方法的类叫做抽象类用abstract修饰的
new Abstract(){public void print() {
System.out.println(INFO); // 匿名抽象类实现
}
};
// 抽象类能不能被final修饰呢?final定义的类为终结类,抽象类是需要子类来实现的
// final abstract class Abstract{ //... } // 编译报错
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: