Java中的对象、类、抽象类、接口、继承之间的联系

unimof 2021年02月25日 348次浏览

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

image.png

举个例子:如果现在要想定义一个动物,那么动物肯定是一个公共的标准,而这个公共标准就可以通过接口来完成。

在动物中又分为两类:哺乳动物、卵生动物,而这个标准属于对动物的标准进一步细化,应该称为子标准,所以此种关系可以使用接口的继承来表示。

而哺乳动物可以继续划分为人、狗、猫等不同的类型,由于这些类型不表示具体的事物标准,所以可以使用抽象类进行表示。

如果要表示出工人或者学生这样的概念,则肯定是一个具体的定义,则使用类的方式。

然后每个学生或者每个工人都是具体的,那么就通过对象来表示;

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());
 }
}