java 隐式构造,什么是Java上的隐式构造函数

在Java中,子类必须显式调用基类的构造器,因为基类可能需要初始化一些状态,包括私有变量。如果不调用,对象可能会处于无效状态,导致各种问题。错误提示'ImplicitsuperconstructorArrayAdapter()isundefined.Mustexplicitlyinvokeanotherconstructor'说明在继承ArrayAdapter时,需要显式调用超类构造器。
摘要由CSDN通过智能技术生成

Is it mandatory to call base class constructor in Java?

In C++ it was optional, so I am asking this.

When I extend ArrayAdapter, I get this error: "Implicit super constructor ArrayAdapter() is undefined. Must explicitly invoke another constructor"

So, what is the purpose of calling base constructor? When I create object base class constructor will call & then it comes to derived right.

解决方案

The no-args constructor is called implicitly if you don't call one yourself, which is invalid if that constructor doesn't exist. The reason it is required to call a super constructor is that the superclass usually has some state it expects to be in after being constructed, which may include private variables that can't be set in a sub-class. If you don't call the constructor, it would leave the object in a probably invalid state, which can cause all kinds of problems.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值