1、定义一个接口
/**
*
*/
package com.wjj;
/**
* @author jiajunWu
*
*/
public interface MyInterface {
public static int id=0;
public void myInterTest();
public void myInterTest2();
abstract void doJob2(ServletContext context);
}
2、定义一个抽象类(里面包涵抽象方法,和自己的成员变量,并实现上面的接口)
package com.wjj;
public abstract class MyAbstractClass implements MyInterface {
public int id;
private String name;
public MyAbstractClass(int id, String name) {
super();
this.id = id;
this.name = name;
}
public MyAbstractClass() {
super();
}
public void myAbstractTest1() {
System.out.println("抽象类的方法1");
}
//重写接口的抽象方法
public void doJob2(ServletContext context) {
// TODO Auto-generated method stub
}
public abstract void myAbstractTest2();
}
3.通过继承上面的类
/**
*
*/
package com.wjj;
/**
* @author jiajunWu
*
*/
public class MyInterAbstractTest extends MyAbstractClass{
@Override
public void myAbstractTest2() {
// TODO Auto-generated method stub
}
@Override
public void myInterTest() {
// TODO Auto-generated method stub
}
@Override
public void myInterTest2() {
// TODO Auto-generated method stub
}
}
总结:说明一个抽象类实现一个接口,不需要将接口的方法都实现,但是如果这个实现接口的抽象类,它的派生类就会实现它其中抽象的方法和接口的所有方法,派生类不能重写基类的默认构造函数和带参数的构造函数。