什么是抽象类?
在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都只是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑补充它,那么这样的类我们称它为抽象类。
在Java语言中使用**abstract**来定义抽象类,同样可以定义抽象方法(抽象类必须通过其子类才能实例化成对象)
1、含有抽象方法的类是抽象类
2、抽象类中不一定有抽象方法
3、抽象类不能直接创建对象,必须通过子类实现,所以abstract不能和final一起修饰类
4、abstract 不能与static、final并列修饰同一个方法
/**
* 抽象类动物类
*/
public abstract class Animal {
//名字
private String name;
//抽象方法
public abstract void cry();
}
什么是接口
接口是比抽象类更抽象的一种结构或者类,通常使用 interface 来进行描述
1.接口是标准和规范
2.接口里是常量和未实现的方法
3.接口不能实例化
4.接口可以继承接口,可以多继承
5.接口没有构造方法和抽象了一样不能创建自己的对象
/**
* 动物接口
*/
public interface Animal {
public static final String name="";
//抽象方法
public abstract void cry();
}
/**
* 实现了动物接口的狗类
*/
public class Dog implements Animal {
@Override
public void cry(){
System.out.println("汪汪汪");
}
}