Java教程

Java继承

本文主要是介绍Java继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.3继承

1.继承的概念

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

在Java之中,如果要实现继承的关系,可以使用如下的语法:

class 子类 extends 父类 {}
  • 每个类只能直接继承于一个父类

  • 所有的类都直接或者间接继承于java.lang.Object

protected关键字

 

 同类同一包装中的类子类其他包装的类
protected  
  • 当类希望被继承时,某一成员可以被子类访问,则应使用protected修饰该成员

子类又被称为派生类; 父类又被称为超类(Super Class)。

子类对于父类的功能进行了扩充(扩充了一个属性和两个方法)。但是思考一下:子类从外表看是扩充了父类的功能,但是对于以上的代码,子类还有一个特点:子类实际上是将父类定义的更加的具体化的一种手段。父类表示的范围大,而子类表示的范围小

1.2继承的限制

虽然继承可以进行类功能的扩充,但是其在定义的时候也是会存在若干种限制的。

限制一:一个子类只能够继承一个父类,存在单继承局限,不能出现单继承。

package Java基础的study.面对对象;
​
public class Inherit {
    public static void main(String[] args) {
        A a=new A();
        a.text("jaiwefji");
        B b=new A();
        b.text();
        System.out.println(b instanceof A);//检测是否为继承
    }
}
class B{
    protected String name="jaiejfija";
    void text() {
        System.out.println("a_a");
​
    }
​
}
class A extends B{
    //@Override
    private String name="ajefi";
    void text(String name) {
        super.text();
        System.out.println(name);
        System.out.println(this.name);//this调用当前得方法
        System.out.println(super.name);//调用父类得方法
​
    }
}

Java之中只允许多层继承,不允许多重继承,Java存在单继承局限。

在一个子类继承的时候,实际上会继承父类之中的所有操作(属性、方法),但是需要注意的是,对于所有的非私有(no private)操作属于显式继承(可以直接利用对象操作),而所有的私有操作属于隐式继承(间接完成)。 默认调用的是无参构造,而如果这个时候父类没有无参构造,则子类必须通过super()调用指定参数的构造方法:

在任何的情况下,子类都逃不出父类构造的调用,很明显,super调用父类构造,这个语法和this()很相似:super调用父类构造时,一定要放在构造方法的首行上。

这篇关于Java继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!