精华内容
下载资源
问答
  • 关键字super

    2021-02-04 23:33:41
    关键字super 在Java类中使用super来调用父类中的指定操作: super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造器中调用父类的构造器 注意: 尤其当子父类出现同名成员时...

    关键字super

    在Java类中使用super来调用父类中的指定操作:

    1. super可用于访问父类中定义的属性
    2. super可用于调用父类中定义的成员方法
    3. super可用于在子类构造器中调用父类的构造器

    注意:

    1. 尤其当子父类出现同名成员时,可以用super表明调用的是父类中的成员
    2. super的追溯不仅限于直接父类
    3. super和this的用法相像,this代表本类对象的引用,super代表父类的内存空间的标识

    调用父类构造器

    1. 子类中所有的构造器默认都会访问父类中空参数的构造器。即默认调用super()
    2. 当父类中没有空参数的构造器时,子类的构造器必须通过this(参数列表)或者super(参数列表)语句指定调用本类或者父类中相应的构造器。同时,只能”二选一",且必须放在构造器的首行
    3. 如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有无参的构造器,则编译出错

    this和super的区别

    在这里插入图片描述

    展开全文
  • 主要介绍了java 关键字super详解及用法的相关资料,需要的朋友可以参考下
  • java 关键字super

    2018-10-12 01:33:04
    java 关键字superjava关键字的使用demo java关键字的使用 super:可用来修饰属性、方法、构造器 当子类与父类中有同名的属性时,可用通过“super.此属性”显示调用父声明的属性。 若想调用子类的同名...

    java 关键字super

    java关键字的使用

    1. super:可用来修饰属性、方法、构造器

    2. 当子类与父类中有同名的属性时,可用通过“super.此属性”显示调用父声明的属性。

    3. 若想调用子类的同名的属性“用this.属性”调用

    4. 当子类重写父类的方法以后,在子类中若想调用父类的方法,就需要显示调用父类中的方法,用“super.方法”

    demo

    public class Person {
    
    	private String name;
    	private int age;
    	int id;//身份证
    	...
    	public void eat() {
    		System.out.println("吃饭");
    	}
    }
    
    public class Student extends Person {
    	private String schoolName;
    	private int id;//学号
    	public Student(String schoolName, int id) {
    		super();//调用父类的构造器结构,加载父类的属性
    		this.schoolName = schoolName;
    		this.id = id;
    	}
    	
    	public void show() {
    		//默认this.id
    		System.out.println(this.id);		
    		System.out.println(super.id);
    	}
    }
    
    展开全文
  • java关键字super

    2020-03-16 02:53:11
    java关键字super super用来引用直接父类对象,每当创建子类的实例时,父类的实例被隐式创建,由super关键字引用变量引用 1,用法 ①引用直接父类的实例变量,调用直接父类方法 class Animals{ String color = "red...

    java关键字super

    super用来引用直接父类对象,每当创建子类的实例时,父类的实例被隐式创建,由super关键字引用变量引用
    1,用法
    ①引用直接父类的实例变量,调用直接父类方法

    class Animals{
        String color = "red";
        void output(){
            System.out.println("this is father......");
        }
    }
    class Dog extends Animals{
        String color = "green";
        void output(){
            System.out.println("this is son.......");
            super.output();//调用父类方法
            System.out.println(color);
            System.out.println(super.color);//引用父类变量
    
        }
    
    }
        public class ex {
            public static void main(String[] args) {
               Dog dog = new Dog();
               dog.output();
            }
        }
    

    运行结果

    this is son.......
    this is father......
    green
    red
    

    我觉得super调用直接父类的方法有种撤销子类函数覆盖的意思,函数覆盖之后想要是被覆盖了的父类函数显现出来,用到super关键字
    ②引用直接父类的构造函数

    class Animals{
        Animals(){
            System.out.println("Father's constructor");
        }
    }
    class Dog extends Animals{
        Dog(){
            super();//若果没有这行代码,编译器也会自动的添加上
            System.out.println("Son's constructor");
    
        }
    
    }
        public class ex {
            public static void main(String[] args) {
               Dog dog = new Dog();
            }
        }
    
    

    运行结果

    Father's constructor
    Son's constructor
    
    Process finished with exit code 0
    
    

    当创建一个子类实例的时候,一定会隐式的创建一个父类实例,既然创建了父类实例,就一定得调用父类的构造函数,所以上例的super();可写可不写,但注意,写了必须放在子类构造函数的第一行。
    2,小实例应用
    体会一下super的用法

    class Student{
        String name;
        int id;
        Student(int id,String name){
            this.name = name;
            this.id = id;
        }
    }
    class MiddleStudent extends Student{
        int grade;
        MiddleStudent(int grade,int id,String name) {
            super(id,name);//此行代码必须要有
            this.grade = grade;
        }
    }
        public class ex {
            public static void main(String[] args) {
               MiddleStudent s = new MiddleStudent(8,1234,"Mary");
               System.out.println(s.grade+" "+s.name+" "+s.id);
            }
    
        }
    
    

    结果

    8 Mary 1234
    
    Process finished with exit code 0
    
    
    展开全文
  • 1、关键字this用于调用本类对象,关键字super用于调用父类对象。 2、使用this调用本类其他构造器或使用super调用父类构造器时,this或super必须放在构造器的第一行,且一个构造器最多存在一个this或super。 3、如果...

    1、关键字this用于调用本类对象,关键字super用于调用父类对象。
    2、使用this调用本类其他构造器或使用super调用父类构造器时,this或super必须放在构造器的第一行,且一个构造器最多存在一个this或super。
    3、如果一个类声明了n个构造器,则最多存在n-1个构造器使用this调用本类其他构造器,因为要避免出现环路、陷入死循环。
    4、若构造器中没有使用this或super调用其他构造器,则默认使用super调用父类的空参构造器

    public class ThisToConstructor {
        public static void main(String[] args) {
            new Test2(2, 3).print();
        }
    }
    
    class Test1 {
        protected int value1;
        protected int value2;
    
        public Test1() {
            this.value1 = 1;
        }
    
        public Test1(int value2) {
            this();
            this.value2 = value2;
        }
    }
    
    class Test2 extends Test1 {
        private int value1;
        private int value2;
        private int value3;
    
        public Test2() {
            super(2);
            this.value1 = 1;
        }
    
        public Test2(int value2) {
            this();
            this.value2 = value2;
        }
    
        public Test2(int value2, int value3) {
            this(value2);
            this.value3 = value3;
        }
    
        public void print() {
            System.out.println("test1.value1 = " + super.value1 + "\ttest1.value2 = " + super.value2);
            System.out.println("test2.value1 = " + this.value1 + "\ttest2.value2 = " + this.value2 + "\ttest2.value3 = " + this.value3);
        }
    }
    

    在这里插入图片描述

    展开全文
  • Java5-2关键字super final

    2020-12-07 20:03:52
    关键字super final 1.super 关键字 子类可以隐藏从父类继承的成员变量和方法,如果要在子类中使用被隐藏的成员变量或者方法,则使用super关键字 super关键字用法: 使用super调用父类的构造方法:子类不继承父类的...
  • Java-关键字super

    2019-12-26 21:02:23
    关键字super 在Java类中使用super来调用父类中的指定操作: super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造方法中调用父类的构造器 注意 尤其当子父类出现同名...
  • JAVA中关键字THIS和关键字SUPER图解 父类 package demo10; public class Fu { int num=10; public void method(){ System.out.println("父类方法"); } } 子类 package demo10; import java.util.zip....
  • java关键字super总结

    2018-08-01 11:10:00
    子类继承父类,若父类的成员变量被隐藏或者方法被重写,此时如果想调用被隐藏的成员变量或方法就要用到关键字super. (1)调用父类的构造方法:super语句必须在子类构造方法的第一句中,系统默认调用无参数的父类构造...
  • Java 关键字super用法介绍内容待完成
  • ① 在 java 语言中,关键字 this 指的是对当前对象的引用,关键字 super 指的是当前对象里面的父对象的引用。java 语言中,关键字 this 指的是对当前对象的引用,关键字 super 指的是当前 对象里面的父对象的引用...
  • 关键字super 在Java类中使用super来引用父类的成分 super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造方法中调用父类的构造方法 super的追溯不仅限于直接父类 ...
  • 关键字super的作用 super代表父类对应的对象,所以用super访问在子类中无法直接使用的父类成员和方法 Java内存区域 JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 栈区: 每个线程包含...
  • 关键字super的作用意义

    千次阅读 2013-07-07 22:53:00
    由于子类可以覆盖父类的实例方法、隐藏父类的类方法、隐藏父类的字段等,但是我们有时候需要引用到父类的一些方法,这时候需要借助关键字super.   1.隐藏超类中的字段:  如果一个子类中与其父类有同名的字段,即使...
  • 一.this关键字代表什么 this代表当前对象的引用 有关this关键字的注意事项: 1.this代表当前对象的引用 2.在静态方法内部,不能够使用this(j静态不依赖于对象 ,而this代表对象的引用产生矛盾) 3. a.this通过点号 ...
  • 1.关键字this:是指调用对象本身的引用名。可以用this关键字引用对象的实例成员,例如:下面的代码使用this来显示地引用对象的radius以及调用它的getArea()方法。但是this引用可以省略掉的。 public class Circle{...
  • super关键字(重名时需要借助super表示调用父类中的内容)) 1.在子类成员方法中,调用父类成员变量。 this.name; 2.在子类成员方法中,调用父类成员方法。 3.在子类构造方法中,调用父类构造方法(注意只能写在...
  • 关键字super在构造方法中的含义: 1、当用子类的构造方法创建一个对象时,子类的构造方法总是先调用父类的某个构造方法; 2、当子类的构造方法没有明确地指明使用父类的哪个构造方法,那么子类就默认调用父类中不...
  • java--关键字super

    2020-05-07 16:41:49
    super关键字的作用 Java类中调用super来调用父类中的指定操作: 1.super可用于访问父类中定义的属性 2.super可用于访问父类中定义的成员方法 3.super可用于在子类构造方法中调用父类的构造器 super和this的用法相像...
  • java关键字 super final

    2020-03-15 09:08:17
    super 1. 用super 来访问父类中被子类覆盖的成员变量或者属性
  • Java关键字super与this

    2018-01-05 16:20:21
    但是,下列场景中,如果想在子类中访问父类方法或变量,就可以使用super关键字。 1)如果子类隐藏了父类的变量(静态变量或者实例变量【成员变量】)。 2)子类的静态方法隐藏了父类静态方法,当子类未转换成父...
  • Java之关键字super

    2016-06-01 18:09:25
    Super 关键字 1. super 不是引用类型,super中存储的不是内存地址,super指向的不是父类对象 2. Super代表的是当前子类对象中的父类型特征 3.什么时候使用super?  子类和父类中都有某个数据/方法,例如子类和父类...
  • java 关键字super和this

    2019-09-28 12:59:45
    super关键字  作用:调用父类的构造器  只能出现在子类的构造其中,并且必须是第一行  super()中的参数,决定了调用父类的那个构造器  注:如果子类构造器中没有出现super,则默认加上super(),调用父类...
  • 两个关键字super/this -------(个人理解) This 关键字代表当前对象 This.属性 操作当前对象的属性; This.方法 操作当前对象的方法; 封装对象的属性经常使用this 关键字. 例如: ​ public abstract ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 178,545
精华内容 71,418
关键字:

关键字super