java继承和接口实现

【基础最重要】

继承的概念

在程序中,继承描述的是事务之间的所属关系,通过继承可以使多种事务之间形成一种关系体系。例如马和牛都属于动物,程序中变可以表述为马和牛继承自动物,再比如公马母马都是马,都继承自马这一物种,马又继承自动物,就这样,这些动物之间会形成一个继承体系。
在java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称为子类,现有类被称作父类。子类会自动拥有父类所有可继承的属性和方法。在程序中,如果想声明一个类继承另一个类,需要使用extend关键字。

在类的继承中需要注意几个问题,如下:

  • 在java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类。
  • 多个类可以继承自一个父类。
  • 在java中,子类和父类是一种相对的概念,也就是说一个类是某个类父类的同时,也可以使另一个类的子类。

另外,当子类重写父类的方法时,不能使用比父类中被重写的方法更严格的访问权限。而且当子类重写父类方法时,子类对象将无法访问父类被重写的方法,这个时候可以使用super关键字用于访问父类成员。


接口

首先阐释一下抽象类的意思:
java允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract关键字类修饰。
abstract void shout(); //定义抽象方法shout()

当一个类中包含抽象方法,该类必须使用abstract关键字来修饰,使用abstract关键字修饰的类为抽象类

在定义抽象类时需注意:

  • 包含抽象方法的类必须声明为抽象类,但是抽象类可以不包含任何抽象方法,只需使用abstract关键字来修饰即可。
  • 抽象类是不可以被实例化的,因为抽象类中有可能包含抽象方法,抽象方法是没有方法体的,不可以被调用。

如果一个抽象类中的所有方法都是抽象类,则可以将这个类用另外一种方式来定义,即接口。在定义接口时,需要使用interface关键字声明。

interface people{
   int ID = 1; // 定义全局常量
   void run(); //定义抽象方法
}

接口中的变量默认使用”public static final”来修饰,即全局常量。方法默认使用”public abstract”,即抽象方法。

接口的特点归纳总结:

  • 接口中的方法都是抽象的,不能实例化对象。
  • 当一个类实现接口时,如果这个类是抽象类,则实现接口中的部分方法即可,否则需要实现接口中全部的方法。
  • 一个类通过implements关键字实现接口时,可以实现多个接口,被实现的多个接口之间要用逗号隔开。
  • 一个接口可以通过extends关键字继承多个接口,接口之间用逗号隔开。

    扫描二维码关注公众号,回复: 3853846 查看本文章
    interface Running{
     //程序代码
    }
    interface Flying{
    //程序代码
    }
    Interface Eating extends Running,Flying{
    //程序代码
    }
  • 一个类在继承另一个类的同时还可以实现接口,此时,extends关键字必须位于implements关键字之前。即“先继承,再实现”。

猜你喜欢

转载自blog.csdn.net/Ldabaicai/article/details/52413944