一直都打算写一些总结性的内容,也给自己留点东西,今天咱们就来看看抽象类与接口,写的不好还请大家补充。
1.抽象类
public abstract class A { //必须有一个抽象方法
public abstract void method1_a (); //抽象方法,也就是说在抽象类的子类中必须实现这个方法
public void method2_a () { //非抽象方法
// 方法的内容
}
public void method3_a (); // 非抽象方法 没有具体的实现
}
2.接口
public interface B
{
static final int i;
int b; // 隐式声明
public void method1_b();
}
注意:
(1)接口中不能有普通的数据成员例:int a=0;因在接口中只能够存在静态且不能修改的数据成员,也就是使用 static final 来修饰,
如果写成 int a=0,也会认为是隐式声明为 static final int a;
(2)接口中的方法一定是抽象方法,所以不用abstract修饰。
(3)接口中的方法都不能在接口中具体的实现。
3.具体的使用
(1)抽象类的使用
这里继承的是A就要继承A里所有的抽象方法
public class C extends A {
public abstract void method1_a () //A类里面的抽象方法
//方法的实现
}
}
(2)接口的使用
public class D implements B{
public abstract void method1_b () //B类里面的抽象方法
//方法的实现
}
}
(3)混合使用
这样就要实现A里搜有的抽象方法以及B里面的所有的方法
public class E extends A implements B {
public abstract void method1_a () //A类里面的抽象方法
//方法的实现
}
public abstract void method1_b () //B类里面的抽象方法
//方法的实现
}
}