首页 > 其他分享 >Super关键字

Super关键字

时间:2023-12-27 13:33:17浏览次数:34  
标签:构造方法 Super System 关键字 父类 super public out

Super关键字

super注意点:

1、super调用父类的构造方法、必须在构造方法的第一个,

2、super访问父类的属性和方法,

3、super必须只能出现在子类的方法或者构造方法中

4、super和this不能同时调用构造方法

Vs this:this访问当前类的属性和方法

代表的对象不同

1、this:本身调用者这个对象

2、super:代表父类对象的应用

前提:

this:没有继承也可以使用

super:只能在继承条件下才可以使用

构造方法:

this():本类的构造

super():父类的构造

当前子类的构造方法默认先执行父类的构造方法,父类的构造方法执行在子类构造方法之前

public class application {
    public static void main(String[] args) {
        student s1 = new student();
        s1.printName("testName");
        s1.test();
    }
}

//在Java中,所以类都默认直接或间接继承Object类,Ctrl+H可以查看继承关系
public class Person {
    public Person(){
        System.out.println("父类构造方法执行了");
    }
        //私有的属性和方法无法被继承
        protected String name = "this is personName";
        public void print(){
            System.out.println("printPerson");
        }
}


//学生类,子类继承了父类,就会拥有父类的全部的方法
public class student extends Person{

    public student(){
        //隐藏代码调用了父类的无参构造方法,super();
        super();//调用父类的构造器必须要在子类构造器的第一行,否则报错
        System.out.println("子类构造方法执行了");
    }
    private String name = "this is studentName";
    public void printName(String name){
        System.out.println(name);
        System.out.println(this.name);
        System.out.println(super.name);
    }
    public void print(){
        System.out.println("studentName");
    }
    public void test(){
        this.print();
        super.print();
    }
}

标签:构造方法,Super,System,关键字,父类,super,public,out
From: https://www.cnblogs.com/sara0618/p/17930358.html

相关文章

  • 软件工程领域的一百个关键字
    软件工程领域的一百个关键字软件软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合。软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件工程软件工程是研究和应用如何以系统化的、规范的、可度量的方法去开发......
  • constructor中的super
    1.ES6要求,子类的构造函数必须执行一次super函数。这是必须的,否则JavaScript引擎会报错。在执行super函数时,其实就是在创建子类的this,然后将父类的实例和方法放置在这个this对象中,子类在调用super之前是没有this的,所有的this操作都要在super()关键字后执行。由于super指向父类的......
  • 关键字 开发-14 用例跳过
    前言有些情况需要通过加入用例步骤之间的等待时间,来进行接口的断言或者后置,其次有时候需要根据条件判断用例是否需要执行。1.加入sleep等待时间通过sleep关键字即可实现,在执行用例的过程前添加等待时间。elifitem=='sleep':......
  • C# 中使用 using 关键字和不使用 using 关键字创建 FileStream
    在C#中使用using关键字和不使用using关键字创建FileStream实例之间有一些区别。使用using关键字:using(FileStreamfileStream=newFileStream(filePath,FileMode.Open,FileAccess.Read)){//使用fileStream进行操作}using关键字用于创建FileStream......
  • 【开源项目推荐】Apache Superset——最优秀的开源数据可视化与数据探索平台
    大家好,我是独孤风。数据可视化是数据领域一个非常重要的应用。而结合了数据可视化和数据探索功能的BI(商业智能)工具,更是被各大公司青睐。但是,由于数据可视化工具的开发成本过高,长期以来一直是商业化的BI工具处于垄断地位。那么,有没有优秀的开源数据可视化与数据探索平台呢?今天......
  • GPT-2 《Language Models are Unsupervised Multitask Learners》解读
    背景GPT1采用了pre-train+fine-tuning训练方式,也就是说为了适应不同的训练任务,模型还是需要在特定任务的数据集上微调,仍然存在较多人工干预的成本。GPT-2想彻底解决这个问题,通过zero-shot,在迁移到其他任务上的时候不需要额外的标注数据,也不需要额外的模型训练。 训练数据......
  • AI自监督学习(Self-Supervised Learning,SSL)
    AI自监督学习(Self-SupervisedLearning,SSL)是一种机器学习方法,用于训练模型从大量无标签数据中自动学习特征表示。自监督学习与传统监督学习不同之处在于,它不需要人工标注数据,而是使用数据本身作为监督信号来学习有效的特征表示。自监督学习在各种AI任务中具有广泛应用前景,如自然语......
  • C++中的 mutable 关键字
    Parcel类中mDataPos被修饰为mutable类型变量。C++中的mutable是一个关键字,用于修饰类的成员变量。mutable关键字的作用是允许被修饰的成员变量在const修饰的成员函数中被修改,即使这些函数被声明为const。下面是mutable关键字的使用示例:#include<iostream>usin......
  • static关键字在C/C++中的用法
    在C++中,static关键字有几种不同的用法:1.静态(局部)变量在函数内部声明的变量或类中声明的变量前加上static,表示这个变量的生命周期为整个程序运行期间,而不是仅在函数执行期间。静态变量在第一次调用时初始化,之后保持其值直到程序结束。voidfunc(){staticintcount......
  • wps js在指定区域查找关键字
    Workbooks.Item(sy112).Activate();//“关键字”所在的文件letrng=Rows.Item("3:4");//“关键字”所在行letc=rng.Find("关键字",undefined,xlValues);if(c!=null){ letfirstCol=c.Column;//将第1个获取的列号赋值给变量firstCol do{arr.push(c.Column);//将列号存入列表......