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

    2017-05-16 15:44:36
    Java super关键字使用demo
  • 主要介绍了java Super 用法详解及实例代码的相关资料,需要的朋友可以参考下
  • 主要介绍了Java super关键字的使用方法详解的相关资料,希望通过本文能帮助到大家,让大家对super关键字彻底掌握,需要的朋友可以参考下
  • 主要介绍了Java super和this的对比及使用的相关资料,java中this与super会经常在使用的时候混淆,需要的朋友可以参考下
  • java super()方法的使用

    2010-06-21 14:47:00
    java super()方法的使用 java super()方法的使用
  • java super关键字

    千次阅读 2019-02-20 17:32:16
    java中有很多关键字,我们需要掌握和理解这些关键字怎么使用,这样我们才可以写出更健壮和高效的程序,这篇文章主要来说一下java中的关键字supersuper关键字有两种用途,分别是: 可以使用super关键字来访问...

    在java中有很多关键字,我们需要掌握和理解这些关键字怎么使用,这样我们才可以写出更健壮和高效的程序,这篇文章主要来说一下java中的关键字super。super关键字有两种用途,分别是:

    1. 可以使用super关键字来访问父类的成员

    如果你的子类重写了父类中的方法,你可以通过使用super关键字来回调父类中被重写的方法。你也可以使用super关键字来查询一个隐藏域。考虑下面这两个类,父类SuperClass和子类SubClass:

    package com.java8.learn;
    
    public class SuperClass {
    
        public void printMethod(){
            System.out.println("superClass printMethod");
        }
    }
    
    
    package com.java8.learn;
    
    public class SubClass extends SuperClass {
        @Override
        public void printMethod() {
            super.printMethod();
            System.out.println("subClass printMethod");
        }
    
        public static void main(String[] args){
            SubClass subClass = new SubClass();
            subClass.printMethod();
        }
    }
    
    

    控制台输出结果:

    superClass printMethod
    subClass printMethod
    

    从上面的程序运行结果可以看出,创建SubClass的对象并调用了该类中的printMethod方法,而该方法中又使用了super关键字调用了父类中的printMethod方法,所以最终的打印结果如上图所示。

    1. 可以使用super关键字来访问父类的构造方法

    通过使用super关键字调用父类的构造方法必须在子类构造方法的第一行。可以是调用无参的super();也可以是调用父类有参数的构造方法super(parameter,list);

    如果构造函数未显式调用超类构造函数,则Java编译器会自动插入对超类的无参数构造函数的调用。 如果超类没有无参数构造函数,则会出现编译时错误。

    在这里插入图片描述

    展开全文
  • java super 和 this 关键字的区分和使用

    千次阅读 多人点赞 2018-10-10 16:07:46
    java super 和 this 关键字的区分和使用 在java类中使用super来调用父类中的指定操作: super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造方法中调用父类的构造器 ...

    1.关键字-this(this是什么)

    1. 在java中,this关键字比较难理解,但它的作用和它的单词意思很接近。
      1.1. 它在方法的内部使用,即这个方法所属对象的调用
      1.2. 它在构造器中内部使用,表示该构造器正在初始化的对象

    2. this表示当前对象,可以用来调用属性、方法和构造器

    3. 什么时候使用this关键字呢?
      3.1. 当方法内需要调用该方法的对象时,就用this

    4. 构造器中的使用(特殊)
      4.1. 可以在构造器通过“this(形参)”的方式来显示的调用本类中其他重载的指定的构造器。
      4.2. 在构造器内部必须声明在首行。
      4.3. 若一个类有n个构造器,那么最多有n-1构造器使用了this(形参);

    5. this小结
      5.1. 用来修饰方法、属性、构造器
      5.2. this理解成当前对象或者正在创建的对象 比如:this.name;this.show( );

    2. 在java类中使用super来调用父类中的指定操作:

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

    注意:

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

    3. this 和 super的区别

    1. 访问属性 this访问本类中的属性如果本类中没有此属性,则从父类中继续寻找 super 访问父类中的方法
    2. 调用方法 this访问本类中的方法 super 直接访问父类的方法
    3. 调用构造器 this调用本类构造器,必须放在构造器的首行 super调用父类构造器,必须放在子类构造器的首行
    4. 特殊 this表示当前对象 super无此概念

    4.子类实例化的过程

    • 由父类构造器先执行,在一层一层然后到子类

    5.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继承

    千次阅读 2019-06-09 14:34:31
    super关键字 super的用法和this很像 this代表本类对应的引用。 super代表父类存储空间的标识(可以理解为父类引用) 用法(this和super均可如下使用) 访问成员变量 this.成员变量 super.成员变量 访问构造方法(子...

    super关键字

    super的用法和this很像

    1. this代表本类对应的引用。
    2. super代表父类存储空间的标识(可以理解为父类引用)

    用法(this和super均可如下使用)

    1. 访问成员变量

    this.成员变量 super.成员变量

    1. 访问构造方法(子父类的构造方法问题讲)

    this(…) super(…)

    1. 访问成员方法(子父类的成员方法问题讲)

    this.成员方法() super.成员方法()

    子类中所有的构造方法默认都会访问父类中空参数的构造方法:

    1. 因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化
    2. 每一个构造方法的第一条语句默认都是:super()

    继承中构造方法的关系

    如果父类中没有构造方法

    1. 子类通过super去显示调用父类其他的带参的构造方法
    2. 子类通过this去调用本类的其他构造方法

    本类其他构造也必须首先访问了父类构造

    1. super(…)或者this(….)必须出现在第一条语句山

    否则,就会有父类数据的多次初始化

    例子:

    class Father{
    			public Father(){
    				System.out.println("Father的无参构造方法");
    			}
    			public Father(String name){
    				System.out.println("Father的带参构造方法");
    			}
    		}
    		class Son extends Father{
    			public Son(){
    				System.out.println("Son的无参构造方法");
    			}
    			public Son(String name){
    				System.out.println("Son的带参构造方法");
    			}
    		}

    继承中成员方法的关系

    通过子类对象去访问一个方法,首先在子类中找,然后在父类中找,如果还是没有就报错。(不考虑父亲的父亲…)

    方法重写概述

    1. 子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法复写。
    2. 使用特点:

    如果方法名不同,就调用对应的方法

    如果方法名相同,最终使用的是子类自己的

    方法重写的应用:

    当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。

    方法重写的注意:

    1. 父类中私有方法不能被重写
    2. 子类重写父类方法时,访问权限不能更低
    3. 父类静态方法,子类也必须通过静态方法进行重写。

    final关键字

    final关键字是最终的意思,可以修饰类,成员变量,成员方法。

    1. 修饰类,类不能被继承
    2. 修饰变量,变量就变成了常量,只能被赋值一次
    3. 修饰方法,方法不能被重写

    final修饰局部变量

    1. 在方法内部,该变量不可以被改变
    2. 在方法声明上,分别演示基本类型和引用类型作为参数的情况

    基本类型,是值不能被改变

    引用类型,是地址值不能被改变

    1. final修饰变量的初始化时机

    在对象构造完毕前即可

    使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。

    总结:把多个类中相同的成员给提取出来定义到一个独立的类中。然后让这个类和该独立的类产生一个关系,这个类就具备了这些内容,这个关系叫继承。

     

    展开全文
  • Java super关键字详解

    万次阅读 多人点赞 2016-07-15 17:14:48
    一.super关键字作用 1:主要存在于子类方法中,用于指向子类对象中父类对象。 2:访问父类的属性 3:访问父类的函数 4:访问父类的构造函数 二.super注意的地方 this和super很像,this指向的是当前对象的调用,...

    一.super关键字作用

    1:主要存在于子类方法中,用于指向子类对象中父类对象。

    2:访问父类的属性

    3:访问父类的函数

    4:访问父类的构造函数

    二. super注意的地方

    thissuper很像,this指向的是当前对象的调用,super指向的是当前调用对象的父类。类加载完毕,创建对象,父类的构造方法会被调用(默认自动无参),然后执行子类相应构造创建了一个子类对象,该子类对象还包含了一个父类对象。该父类对象在子类对象内部。this super只能在有对象的前提下使用,不能在静态上下文使用。

    三.super关键字的使用

    1.子类的构造函数默认第一行会默认调用父类无参的构造函数,隐式语句

    super();

    Son(int y) {
    		//super();隐式语句
    		this.y = y + x;
    		System.out.println("这是子类的有参构造");
    	}

    2.子类显式调用父类构造函数

    在子类构造函数第一行通过super关键字调用父类任何构造函数。如果显式调用父类构造函数,编译器自动添加的调用父类无参数的构造就消失。构造函数间的调用只能放在第一行,只能调用一次。super()this()不能同时存在构造函数第一行。

    Son(int y) {
    		super(y);// 子类显式调用父类构造函数
    		this.y = y + x;
    		System.out.println("这是子类的有参构造");
    	}
    四.super思考

    如果开发者自定义了一个类,没有显示的进行类的继承,那么该类中成员函数是否可以使用super关健健字?可以使用,继承了Object类,Object类是所有类的父类。

    class Demo7 {
    	public  void print(){
    		System.out.println(super.toString());
    	}
    	public static void main(String[] args){
    		new Demo7().print();
    		System.out.println();
         	}
    }


    展开全文
  • Java super关键字用法

    千次阅读 2015-03-20 14:02:15
    分别介绍了在构造方法和非构造方法中super关键字的四种不同的用法。
  • java super的使用

    千次阅读 2016-04-30 15:57:45
    继承,是有关联性的“父子”关系,在java中只可以单继承,java中的super是调用父类的构造函数,super不写的时候,在每次子类实现的时候都是默认super(),所以super有时是在初始化构造函数时使用。 例子: ...
  • Java super关键字(超详细!)

    千次阅读 多人点赞 2021-04-20 19:13:00
    1.什么是supersuper是一个关键字,全部小写。 2.怎么学?super和this对比着学习。 this: this能出现在实例方法和构造方法中。 this的语法是:“this.”、“this()” this 不能 使用在静态方法中。 this. 大部分...
  • Java super关键字(android中常见)

    千次阅读 2015-10-06 10:45:19
    super在android中比较常见,没有java基础也并不理解,所以空出时间学习了一下。 在Java类中使用super来引用基类的成分,比较简单,示例如下: class FatherClass{ public int value; public void f(){ value...
  • 由于子类不能继承父类的构造方法,因此,要调用父类的构造方法,必须在子类的构造方法体的第一行使用 super() 方法。该方法会调用父类相应的构造方法来完成子类对象的初始化工作。 在以下情况下需要使用 super ...
  • Java super 那些事儿

    千次阅读 2013-03-12 20:56:29
    super是this的父辈。从面相对象的角度说,这两个概念是很好理解的。 子类从父类继承过来,父类的protected及以上的属性和方法在子类中是天生就具有的。那么,为什么还要有super这个关键字? 第一、看父类的构造 ...
  • java super 深入理解

    千次阅读 2015-02-01 19:44:46
    为什么要有super 如果子类中定义的成员变量和父类中的成员变量同名时,则父类中的成员变量不能被继承,此时称子类的成员变量隐藏了父类的成员变 量。当子类中定义了一个方法,并且这个方法的名字,返回类型,用...
  • Java super和this的异同总结

    千次阅读 2016-01-02 10:56:01
    super和this的异同  1)super(参数列表):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)   this(参数列表):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)  2)super: 它...
  • java super.getClass().getName()得到了什么

    千次阅读 2015-06-23 23:15:55
    也是无意间在论坛中发现的一个问题,就像一个脑筋急转弯。题目如下: public class b1 extends Date { public static void main(String[] args){ ...System.out.println(super.getClass().getName()); }
  • 新手小白学JAVA 继承 super

    万次阅读 多人点赞 2021-05-10 08:49:27
    Java继承是会用已存在的类的定义作为基础建立新类的技术 新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性的继承父类(超类/基类) 这种继承使得复用以前的代码非常容易,能够大大的缩短开发...
  • Java中this、super关键字的用法简单说明:superJava语言的保留字,用来指向类的超类,本文将详细介绍,需要的朋友可以参考下
  • 主要介绍了java 关键字super详解及用法的相关资料,需要的朋友可以参考下
  • Javasuper关键字及super()的使用

    千次阅读 多人点赞 2020-07-06 22:52:15
    super关键字的使用: (1)super是一个关键字; (2)super和this很类似,我们对比着学习。 先复习一下this关键字的使用。 this关键字: this能出现在实例方法和构造方法中; this的语法是“this.”和“this()”; ...
  • Javasuper()的使用

    万次阅读 多人点赞 2018-09-12 22:10:18
    1.super()的使用实例 一一一子类重写父类的方法 2.super()的使用实例 一一一子类重写父类的变量 3.super()的使用实例 一一一在子类的构造方法中  4.关于构造方法中super() 第一种情况:编译不通过 第二种情况...
  • 主要介绍了javasuper关键字用法实例解析,较为详细的分析了super关键字的用法及内存分布,需要的朋友可以参考下
  • javasuper的三种用法

    万次阅读 多人点赞 2019-07-11 21:12:56
    javasuper的用法 super只在子类中出现 super有三种用法 【1】 super.xxx; xxx可以是类的属性。 例如super.name;即从子类中获取父类name属性的值 【2】 super.xxx(); xxx()可以是类中的方法名。 super.xxx();的意义...
  • javasuper的作用

    万次阅读 2018-01-13 09:16:42
    super()的作用 super能够用来訪问超类的构造方法和被子类所隐藏的方法。假设子类中有方法与超类中的方法名称和參数同样,则超类中的方法就被隐藏起来,也就是说在子类中重载(注:同名不同参数的函数或者方法之间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,007,488
精华内容 402,995
关键字:

javasuper

java 订阅