Android自定义super以及this的用法问题

Android自定义开发当中的继承view的时候,我们一般会使用3个构造函数

因为四个参数的构造函数是API21之后才出来的,所以我们暂时都是使用的都是这3种。在我自己学习自定义的过程当中,就在这个构造函数的地方出了问题。将super和this的用法弄错了。所以自己在这里记录下来,希望为大家提供一点帮助。

super:必须写在子类构造方法的第一排,调用基类的构造方法,还能调用基类中的方法。

this:this表示的是调用本类当中的其他的构造函数。

在自定义的时候,我使用的是AS编译器,它自动给我生成的的super();方法,但是我是在第三个构造函数中初始化的数据,在执行的过程中,第三个构造函数是没有执行到的。所以,导致我会一直报错。然后我将super改成了this,因为之前就说到了,this是用于调用本类当中的其他的构造方法,我在1 2 两个构造函数中使用this调用的其他的构造函数,所以程序能正常执行。

tip:在java代码中new 对象的时候一般使用的是第一个构造函数,在xml中使用的是前两个构造函数。所以,如果你的数据是在第三个构造函数中定义的,你一定要在前两个构造函数中使用this来将你的第三个函数引进去,以免发生不必要的错误。

这就是我遇到的问题,希望对大家能用一点作用。

this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值