小编Clo*_*loo的帖子

Java中的构造函数和新运算符

要从StudentJava中的类创建新对象,我们通常使用以下语句

Student std = new Student();
Run Code Online (Sandbox Code Playgroud)

我已经读过new运算符通过在堆中分配内存空间来创建新对象,但是我还读到了调用构造函数Student()创建它.所以,它有点令人困惑.哪一个正在创建对象std?它是new运算符还是默认构造函数?

java

6
推荐指数
1
解决办法
827
查看次数

Java中的继承和构造函数

在以下示例中:

class A {  
    private int a;
    private int b;
    private int c;

    public A(int a, int b , int c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }
}

class B extends A {
    public B() {
         super(1,2,3);         
    }
Run Code Online (Sandbox Code Playgroud)
  1. 是否该语句super(1,2,3)class B创建私有领域一样,在A类的私有字段?或者使用此语句是否违法,因为B不能继承A的私有字段?
  2. 我们假设我们没有在类B中使用超级构造函数,那么通常计算机将调用类A的默认构造函数.我们知道私有字段不是在Java中继承的,那么默认构造函数在这种状态下初始化的是什么?

java inheritance constructor

-6
推荐指数
1
解决办法
206
查看次数

标签 统计

java ×2

constructor ×1

inheritance ×1