一:抽象类是指声明方法的存在而不去实现它的类,抽象类不能进行实例化,也就是不能创建其对象,在定义抽象类时要在前面加上abstract关键字,定义了抽象类后,那么这个类中至少有一个抽象方法,抽象方法是没有方法体的
import java.util.*;
abstract class Num2{
int a1;
int b1;
Num2(int a,int b){
a1=a;
b1=b;
}
abstract int mathtext();
}
class Num extends Num2{
Num(int a,int b){
super(a,b);
}
int mathtext(){
return a1+b1;
}
}
class Num1 extends Num2{
Num1(int a,int b){
super(a,b);
}
int mathtext(){
return a1-b1;
}
}
class Numbers{
public static void main(String args[]){
Num num=new Num(3,4);
Num1 num1=new Num1(5,6);
//Num2 ber;
//ber=num;//抽象咧的对象。。。。
System.out.println("add is "+num.mathtext());
//ber=num1;
System.out.println("add is"+num1.mathtext());
}
}
二:接口:
接口实际上是抽象类
即:创建一个接口后,这个接口的方法也和抽象类中 的一样,它的方法是抽象的,也就是说接口不具有实现的功能,他不管指定要做什么和具体怎么走做,一旦地定义了接口,任何类都可以实现这个接口,它与类不同,一个类只能继承一个类,但是一个类可以实现多个接口,接口解决了一个类具备多个方面 特征。
public interface<接口名>{
【常量】
【<抽象方法>】
}
接口的修饰符只能是public ,因为只用这样接口才能被任何包中的接口或类访问。
常量: 在接口中不能声明变量,因为接口要具备3个特征,分别是:public,static,和final
public interface Jiekou {
int a=11;//只有常量,没哟变量。
int b=21;
int c=31;
int d=32;
int f=24;
void print();
void print1();
}
class Jiekou1 implements Jiekou{
public void print(){
System.out.println(a+b);
}
public void print1() {
System.out.println(c+d+f);
}
}
class Numbers{
public static void main(String args[]){
Jiekou1 a1=new Jiekou1();
a1.print();
a1.print1();
}
}
实现多个接口: