Java面向对象的模型里面,包括interface,abstract class,class三个基本元素。他们之间的规则如下:
- interface定义接口,可以包含默认实现的方法
- interface可以继承一个或多个interface
- abstract class表示抽象基类,可以定义抽象方法接口,
- abstract class可以implement一个或多个interface
- class只能extends一个class或一个abstract class,不能同时extends多个class
- class可以implement一个或多个interface
- 只有class可以new,abstract 或 interface 不能 new
举个例子:如果现在要想定义一个动物,那么动物肯定是一个公共的标准,而这个公共标准就可以通过接口来完成。
在动物中又分为两类:哺乳动物、卵生动物,而这个标准属于对动物的标准进一步细化,应该称为子标准,所以此种关系可以使用接口的继承来表示。
而哺乳动物可以继续划分为人、狗、猫等不同的类型,由于这些类型不表示具体的事物标准,所以可以使用抽象类进行表示。
如果要表示出工人或者学生这样的概念,则肯定是一个具体的定义,则使用类的方式。
然后每个学生或者每个工人都是具体的,那么就通过对象来表示;
package Java从入门到项目实战.抽象类与接口;
//动物
interface animal{
public abstract String breath();
}
//哺乳动物---接口继承extend
//类实现的话--implements
interface mammals extends animal {
// 全局方法
// 抽象方法
}
//卵生动物
interface Egg_laying_animals extends animal {
// 全局方法
// 抽象方法
}
//定义人类抽象类(属于哺乳动物)
abstract class people implements mammals{
}
//定义非人类抽象类(输入哺乳动物)
abstract class small_animal implements mammals{
}
//学生 属于人类中
class student extends people{
@Override
public String breath() {
return null;
}
}
public class Test {
public static void main(String[] args) {
// 对象:类的实例化
student std = new student();
System.out.println(std.breath());
}
}