哪些成员不是在子类中继承的?

Rol*_*nez 8 java inheritance class subclass

我想回答以下问题:

子类不会继承父类的某些成员.说出三个这样的成员.

我知道私有成员不会继承到子类,并且默认成员不会在包外继承.任何人都可以完成答案吗?

编辑: - 我相信静态成员是根据以下演示继承的

public class sup {
    public static void main(String agr[]){
    }

    protected static int staticInt=0;
    protected final int finalInt=3;
    protected int protectedInt=0;
    public String publicString = "";
    private int privateInt=8;
}

class sub extends sup{
    public void del(){
        staticInt=1;
        staticInt=finalInt;
    }
}
Run Code Online (Sandbox Code Playgroud)

use*_*757 6

来自JLS的班级成员

构造函数,静态初始化程序和实例初始值设定项不是成员,因此不会继承.

  • 丁丁丁!最后,正确答案也来自JLS :-) (2认同)

Joo*_*gen 1

无答案为术语使用提供理由。

上面回答了子类中可见的成员。成员既是字段又是方法(每个成员都有自己的命名空间)。

继承作为子实例的一部分是另一个问题:不可见的私有成员也同样被“继承”。静态成员是类实例的一部分,不能被继承(也不能被覆盖)。所有最终方法都不能被重写。

有争议的构造函数不会被继承;您必须在新的子构造函数中再次定义相同的签名。

类中的其他声明可以是类定义。那里的关键字static有不同的含义,并且可以对可见性/继承性做出明显的陈述。例如,对于非静态内部类,它具有<outer-class>.this(递归概念)。