61 super 和 this的区别

this 和 super 都代表什么

this 代表当前对象的引用,谁来调用我,我就代表谁

super  代表当前对象的父类引用

this  和  super 的区别

  调用成员变量

  this.成员变量 调用本类的成员变量 也可以调用父类的成员变量

  super.成员变量 调用父类的成员变量

  

  调用构造方法

  this()调用本类的构造方法

  super()调用父类的构造方法

  

  调用成员方法

  this.成员方法  调用本类的成员方法,也只可以调用父类的成员方法

  super.成员方法 调用父类的成员方法

时间: 2024-10-11 13:10:59

61 super 和 this的区别的相关文章

python类中super()和__init__()的区别

本文和大家分享的主要是python开发中super()和__init__()的区别,希望通过本文的分享,对初学者学习这部分内容有所帮助. 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class childA(Base): def __init__(self): print 'creat A ', Base.__init__(self) class chi

java面试题总结之super()与this()的区别

super()与this()的区别? this()调用当前对象的无参构造函数,super()调用父类的无参构造函数 1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) 3)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名    super.成员函数据名(实参) 4)this:它代表

java中super()和this()、super和this的区别

1.super()和this()区别: super():调用父类无形参的构造方法: super(形参):调用父类中某个带形参的构造方法: this(形参):调用本类中另一种形式的构造方法: 注意:放在方法的首行: 2.super和this的区别: super.父类的成员变量: super.父类的方法: super:当子类中的成员变量.方法和父类的相同时,实现调用父类的成员变量和方法: this:代表当前的对象: 使用的地方:若函数的形参和成员变量同名时,需要用this.成员变量名

在Java中super和this的区别

摘要:在Java中我们会时常用到super及this的用法,现在我主要来区分一下super.和this.及superL()及this()之间的区别,来对它们的认识和了解: 1.this的用法在Java中: ①:this.:this加点指此时代表当前对象,能操作当前类里面的所有属性及方法以及父类继承而来能被访问修饰符允许的属性和方法. super.:此时指代当前对象类的父类对象部分,不能操作到本类的属性和方法,能操作到父类的能被父类访问修饰符允许的属性和方法,只有当本类中调用被重写前的效果时使用s

super和this的区别

1.什么是super?什么是this? super关键字表示超(父)类的意思.this变量代表对象本身. 2.使用super&this调用成员变量和方法 可以使用super访问父类被子类隐藏的变量或覆盖的方法.当前类如果是从超类继承而来的,当调用super.XX()就是调用基类版本的XX()方法.见示例1. 当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量.见示例2. 示例1 class Person { pro

Java 范型中的super和extends的区别

其实一句话就是: super最好用来作为输出参数,extends最好用来作为输入参数: 看看下面的例子: private class A { // } private class B extends A { // } private class C extends B { // } public void test() { List<? super B> test = new ArrayList(); test = new ArrayList<A>(); test = new Ar

super与this的区别?

this当前类的对象,super父类对象.super:在子类访问父类的成员和行为,必须受类继承规则的约束而this他代表当前对象,当然所有的资源都可以访问.在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.而在方法中super和this使用的方法就差不多了.只不过super 要考虑是否能访问其父类的资源. 原文地

python Parent.__init()和super(Child, self)的区别

super函数做的事情 def supper(cls, inst): mro = inst.__class__.mro() return mro[mro.index(cls) + 1] inst生成父类的列表 从列表中找到cls的索引,然后返回其下一个索引 假设 mro = [a,b,c] cls = b 那么cls的索引为1 返回的是其下一个索引也就是mro[2]即c mro 全程是Method Resolution Order 方法返回的是inst的所有的父类, 顺序是 假设a是基类,b,c

Java中super和this的用法和区别

许多同学在学习Java时分不清楚this和super的用法和区别,今天偶然发现一片加精的博文,看完内容准备自己也写下来积累一下 1.如果想在子类的构造方法中调用父类的构造方法,必须在子类的构造方法中使用super();且必须将其放在首句 public class L1106Demo06 { public static void main(String[] args) { lake M=new lake(); } } /*super方法的用法1. * 在子类的构造方法中若果要想要调用父类的构造方法