抽象 接口 实现接口
//抽象 类 ,方法
//定义一个公共抽象的类 ,并在类中定义一个抽象的方法体
抽象的定义使用abstract
abstract class A 定义一个抽象类 例如:
//定义一个基类
public abstract class A{
//抽象类不能用来实例化,只能用来继承
//A a = new A();error
//public abstract void go();
}
// 定义两个类来继承A类,并实现其抽象方法
public B extends A{
public void go(){
System.out.println("我是B类,我是实现父类的抽象方法");
}
}
public C extends A{
public void go(){
System.out.println("我是C类,我是实现父类的抽象方法");
}
}
//定义一个测试类
public class abstractDemo{//该类有main方法
public static void main(String args[]){
A Obj;
Obj = new B();
obj.go();
Obj = new C();
obj.go();
}
}
接口;
当一个类中的所有方法都是抽象类时,可以将其定义为接口interface
//class和interface不能同时存在定义同一个类是出现
//例如:
class interface A{} //error
interface class A{}//error
定义接口 :[访问权限] interface 接口名{成员列表;}
//例如:public interface A{
//接口中的方法都默认为abstract
public int add(int x, int y);
public int sub(int x, int y);
}
//与抽象类相似,接口不能实例化,只能用来实现//implements 如果要实现接口,需要用到 implements <br>创建一个B类来实现A
//B类来实现A
public class B implements A{
//重写其方法
public int add(int x, int y){
return (x+y);
}
public int sub(int x, int y){
return (x-y);
}
}
总结:抽象类 : a,可以定义方法和类
b,不能被实例化,只能用来继承
c,当一个类被定义为interface时,其方法的abstract可以省略不写,默认的为抽象类
接口 :a,当一个类中的所有方法都是抽象类时,可将其定义为接口
b,接口与抽象类一样不能用来实例化,只能用来实现
c,class和interface不能同时出现
实现 : a,要实现一个接口的时候需要用到implements
b,实现接口必须要实现其抽象方法