• super与this的用法


    1 super和this都是调用其他的构造方法

    super放在构造方法的第一条语句,调用父类的某种构造方法,如果没有super语句,会默认调用父类中无参的构造方法,如果父类构造方法指明而且都有参数,子类中会报错,this调用本类中其他某个构造方法,也要放在构造方法第一行

    2  父类和子类中有相同名字的成员变量时,父类的会被覆盖,如果想使用父类的成员,应该使用super.方法名或者super.对象名

    3 程序中有相同名字的变量时,this可以用来指代当前对象名  

    如  private String name;

    public void setName(String name){

    this.name=name;

    }

    4 super和this不能在同一个构造方法中

    5 super和this都是指代对象,不能在static环境中使用

    6 this代表指向本对象的指针,而super是一个Java关键字
    ————————————————

    super的用法

    准备知识:关键字this

    <1.构造函数传递,this(a,b)表示调用另外一个构造函数;

    <2. 在一个类的非static成员内部使用,表示当前这个对象;

    super和this类似

    <1.调用父类的构造函数;

    <2.在一个类中的非static成员内部使用

    <3. 调用父类的protected函数
    ————————————————

    在python中引入super()的目的是保证相同的基类只初始化一次(注意:

    1super ()机制是用来解决多重继承的,对于直接调用父类名是没有问题的,但在之后根据前人的经验就是:要么都用类名调用,要么就全部用super(),不要混合的用,由此为人做事还是要专一的嘛O(∩_∩)O~

    2 super()继承只能用于新式类,用于经典类时就会报错。
    新式类:必须有继承的类,如果无继承的,则继承object
    经典类:没有父类,如果此时调用super就会出现错误:『super() argument 1 must be type, not classobj)

    参考
    https://blog.csdn.net/u011467044/article/details/52205961

  • 相关阅读:
    支付弹出窗口被拦截解决办法
    实现Bootstrap Carousel Fade Transition 淡入淡出效果
    SVN Global ignore pattern 忽略文件正则后缀
    css 不确定元素宽度的水平居中
    Android Studio运行程序,检测不到(夜神、Genymotion)模拟器
    HttpClient
    Eclipse中复制android项目后要改动的地方
    Eclipse快捷键
    Xml解析之PULL解析 例2
    Xml解析之PULL解析 例1
  • 原文地址:https://www.cnblogs.com/klb561/p/11366978.html
Copyright © 2020-2023  润新知