前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java学习笔记之Python和Java中Super方法的区别

Java学习笔记之Python和Java中Super方法的区别

作者头像
Jetpropelledsnake21
发布2018-06-21 15:54:21
5700
发布2018-06-21 15:54:21
举报
文章被收录于专栏:JetpropelledSnakeJetpropelledSnake

python 的 super 是一个函数,需要两个参数,第一个参数是类,第二个参数是实例,返回值是一个类对象。

其意义是:站在参数2这个实例的角度看去, 参数1这个类的‘父亲’是谁,把‘父亲’返回。

详情见这里。

Java 的 super 是一个引用,即一个指针,它指向的是本类内部的那个父类对象。

可以用 super.xxx 来访问父类的成员变量或成员函数。

另外 Java 的 super 有一个特殊用法,就是 super(args),看起来像个函数似的,其实不是。

这种特殊用法只限于写在构造函数的第一行,用来显示的调用父类的构造方法。 

因为构造方法是无法通过对象加点操作法来调用的,即 super.FaterConstructor() 是不合法的,所以 Java 用 super() 这种方式调用父类构造方法。

Java 对子类的构造方法的要求请看这里

=================================

Java 中想调用父类的方法,直接用 super.method() 即可

Python 中想调用父类的方法,需要用 super(本类名,self).method()

Java 如果想调用父类的构造方法,要用 super()

Python 调用父类的构造方法跟普通方法一样的,super(本类名,self).__init()__

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档