首页 > 编程知识 正文

java中a继承b(Java里的继承)

时间:2023-12-01 15:00:20 阅读:310899 作者:UBND

本文目录一览:

  • 1、Java中类A继承类B,B类中有个protected的方法methodC,请问子类可以直接用this.关键字调用方法methodC吗?
  • 2、java中A继承B,B继承C,那么C是A的父类吗?C是A的超类吗?
  • 3、java中定义一个类可以同时继承两个类

Java中类A继承类B,B类中有个protected的方法methodC,请问子类可以直接用this.关键字调用方法methodC吗?

如你所说A extends B

我帮你把代码模拟粗来

public class B

{

    protected void methodC()

    {

        // TODO you codes here...

    }

}

public class A extends B

{

}

这个分两种情况

子类A中没有Override父类方法,可以使用this:

public class A extends B

{

    void yourmethod()

    {

        this.methodC(); 

        //直接 methodC() 也可以

    }

}

2. 子类中Override了父类方法,一定要使用super:

否则调用的将是本类中的方法而非父类

public class A extends B

{

    public void yourmethod()

    {

        super.methodC(); //调用父类

    }

    

    @Override //覆盖时标签表上Override,这是个好的编程习惯

    public void methodC()

    {

        // TODO your codes here...

        // super.methodC() 这可以调用上一级的methodC()方法,而不是本methodC

        // 如果不是使用super,而且本来没有这样的意愿

        // 那么就会陷入一个伪死循环,并会在很多情况下抛出StackOverFlow

    }

}

期望对你有用!

java中A继承B,B继承C,那么C是A的父类吗?C是A的超类吗?

可以说C是A的间接父类,B才是A的直接父类,java是单继承的, 一个类有且只能有一个直接父类,但是并不限制继承的层数,也就是间接父类可以有n多个

java中定义一个类可以同时继承两个类

java中一个类不能直接继承两个类。

比如说这样:class A extends B,C

不能这样写,因为java不支持多继承,但是可以像下面这样实现继承多个类:

class A extends B

class C extends A

这样C就同时继承了B和A两个类。

扩展资料

当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员变量。具体的原则如下:

1)能够继承父类的public和protected成员变量;不能够继承父类的private成员变量;

2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;

3)对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名成员变量。如果要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。