Java继承

Java继承

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子类,类C是从类A继承而来的。在Java中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类
继承中最常使用的两个关键字是extends和implements。这两个关键字的使用决定了一个对象和另一个对象是否是IS-A(是一个)关系。通过使用这两个关键字,我们能实现一个对象获取另一个对象的属性。
所有Java的类均是由java.lang.Object类继承而来的,所以Object是所有类的祖先类,而除了Object外,所有类必须有一个父类。
通过过extends关键字可以申明一个类是继承另外一个类而来的,一般形式如下:

//A.java
public class A {
  private int i;
  protected int j;

  public void fun() {

  }
}
//B.java
public class B extends A {//B继承A

}

以上代码说明,B是由A继承而来的,B也是A的子类。而A是Object的子类,这里可以不显示地声明。作为子类,B的实例拥有A所有的成员变量,但对于private的成员变量B却没有访问权限,这保障了A的封装性。

IS-A关系
IS-A就是说一个对象是另一个对象的一个分类。
下面是使用关键字extends实现继承

public class Animal{//父类Animal

 }
 public class Mammal extends Animal{
 }//子类Mammal继承父类Animal
 public class Reptile extends Animal{
 }//子类Reptile继承父类Animal
 public class Dog extends Mammal{
 }//子类Dog即继承Mammal又继承父类Animal

上面代码可以看出IS-A关系
Mammal IS-A Animal Reptile IS-A Animal Dog IS-A Mammal
因此:Dog IS-A Animal

Java只支持单继承(继承基本类和抽象类),但是我们可以用接口来实现(多继承接口来实现),结构代码如下:
public class Apple extends Fruit implements Fruit1, Fruit2{}

接口的多继承 java的类没有多继承,只有单继承,java的接口有多继承
接口完全支持多继承,和类的继承相似,子接口扩展某个父接口,将会获得父接口中所定义的一切
代码如下:

interface A{
	 void testa();
 }
 interface B{
	 void testb();
 }
 //接口可以多继承,接口C继承接口A和接口B
 interface C extends A,B{
	 void testc();
 }
 class Test implements C{
	 public void testc(){
		 
	 }
	 public void testa(){
		 
	 }
	 public void testb(){
		 
	 }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值