-
2019-01-07 20:57:52更多相关内容
-
java中super关键字的作用
2021-03-13 18:51:051.super关键字可以在子类的构造方法中显示地调用父类的构造方法,super()必须为子类构造函数中的第一行。2.super可以用来访问父类的成员方法或变量,当子类成员变量或方法与父类有相同的名字时也会覆盖父类的成员...1.super关键字可以在子类的构造方法中显示地调用父类的构造方法,super()必须为子类构造函数中的第一行。
2.super可以用来访问父类的成员方法或变量,当子类成员变量或方法与父类有相同的名字时也会覆盖父类的成员变量或方法,这个时候要想访问父类的成员变量或方法只能通过super关键字来访问,子类方法中的super.方法名()不需要位于第一行。
package test;
class FatherClass {
public int value;
public void f() {
value=100;
System.out.println("父类的value属性值="+value);
}
public FatherClass(){
System.out.println("FatherClass constructor");
}
}
class ChildClass extends FatherClass {
/**
* 子类除了继承父类所具有的value属性外,自己又另外声明了一个value属性,
* 也就是说,此时的子类拥有两个value属性。
*/
public ChildClass(){
super();
System.out.println("ChildClass constructor");
}
public int value;
/**
* 在子类ChildClass里面重写了从父类继承下来的f()方法里面的实现,即重写了f()方法的方法体。
*/
public void f() {
//使用super作为父类对象的引用对象来调用父类对象里面的f()方法
//这个value是子类自己定义的那个value,不是从父类继承下来的那个value
value=200;
super.f(); //父类的value属性值=100
System.out.println("子类的value属性值="+value); //子类的value属性值=200
//打印出来的是子类自定义的那个value的值,这个值是200
System.out.println(value); //200
/**
* 打印出来的是父类里面的value值,由于子类在重写从父类继承下来的f()方法时,
* 第一句话“super.f();”是让父类对象的引用对象调用父类对象的f()方法,
* 即相当于是这个父类对象自己调用f()方法去改变自己的value属性的值,由0变了100。
* 所以这里打印出来的value值是100。
*/
System.out.println(super.value); //100
}
}
public class SuperKeyTest {
public static void main(String[] args) {
ChildClass cc = new ChildClass();
cc.f();
}
}
-
java中super的作用
2018-01-13 09:16:42super()的作用 super能够用来訪问超类的构造方法和被子类所隐藏的方法。假设子类中有方法与超类中的方法名称和參数同样,则超类中的方法就被隐藏起来,也就是说在子类中重载(注:同名不同参数的函数或者方法之间...super()的作用
super能够用来訪问超类的构造方法和被子类所隐藏的方法。假设子类中有方法与超类中的方法名称和參数同样,则超类中的方法就被隐藏起来,也就是说在子类中重载(注:同名不同参数的函数或者方法之间互相称为重载,原文"子类中有方法与超类中的方法名称和參数同样...重载"说错了)了父类中的方法。
引用父类中所隐藏的语法格式例如以下:
super(參数列表)或super.方法名(參数列表)
以下通过代码展示一下super的使用方法:
package cn.demo; public class Demo1 { public static void main(String[] args) { SubClass_A sc=new SubClass_A(2,3); System.out.println(sc.i);// 3 System.out.println(sc.j);// 1 } } class SuperClass_A { public int i=0; public int j=0; public SuperClass_A() { j=1; } } class SubClass_A extends SuperClass_A { public int i; SubClass_A(int a,int b) { super(); i=b; } }
转载自 博客园 yutingliuyl https://www.cnblogs.com/yutingliuyl/p/7093952.html
=====================
网友指出了一点问题,已备注
参考资料:菜鸟教程-Java 重写(Override)与重载(Overload)(点击进入)
-
Java中super关键字及其作用
2020-03-30 18:08:34Java中super关键字及其作用 super关键字及其作用 A:super关键字指代父类对象引用(super代表父类存储空间的标识) B:作用: a:访问被子类隐藏的父类同名成员变量和成员方法 ; b:调用父类构造方法,且必须在子类构造...Java中super关键字及其作用
super关键字及其作用
A:super关键字指代父类对象引用(super代表父类存储空间的标识)
B:作用:
a:访问被子类隐藏的父类同名成员变量和成员方法 ;
b:调用父类构造方法,且必须在子类构造方法的第一条代码;(子类构造方法执行的时候,如果没有用super显式调用父类构造方法,将默认执行super(),即系统会默认调用父类不带参的构造方法,因此,最好定义父类不带参的构造方法,以免程序报错!)
如果不是放在第一条语句上,就可能对父类的数据进行了多次初始化,所以必须放在第一条语句上。
C:不能在静态方法中使用super和this关键字。class Father { int age; public Father() { System.out.println("Father的无参构造方法"); } public Father(String name) { System.out.println("Father的带参构造方法"); } } class Son extends Father { public Son() { // super(); System.out.println("Son的无参构造方法"); } public Son(String name) { // super(); System.out.println("Son的带参构造方法"); } } class ExtendsDemo6 { public static void main(String[] args) { //创建对象 Son s = new Son(); System.out.println(s); System.out.println("------------"); Son s2 = new Son("张三"); System.out.println(s2); } }
-
Java中super的作用
2016-11-16 17:12:45super出现在继承了父类的子类中。有三种存在方式: 第一种 super.xxx;(xxx为变量名或对象名) 这种方法意义为:获取父类中的名字为xxx的变量或方法引用。 使用这种方法可以直接访问父类中的变量或对象,进行修改... -
Java中super详解
2021-05-13 20:51:30在说super之前先说一下Java中的继承,继承是Java中面向对象编程技术的重要基石,因为它允许创建分等级层次的类。继承就是子类继承父类的行为和特征,就是方法和属性。私有的属性和方法子类是能继承的,但是子类无法... -
java中super的用途
2020-11-27 16:59:13super可以用来引用直接父类的实例变量。 super可以用来调用直接父类方法。 super()可以用于调用直接父类构造函数。 public class Test { public static void main(String[] args) { Dog dog = new Dog(); dog.... -
java中super的用法
2020-11-02 11:19:44java中super的用法 super只在子类中出现super有三种用法 【1】super.xxx; xxx可以是类的属性。例如super.name;即从子类中获取父类name属性的值 【2】super.xxx(); xxx()可以是类中的方法名。super.xxx();的意义是... -
Java中super关键字及super()的使用
2020-07-06 22:52:15super关键字的使用: (1)super是一个关键字; (2)super和this很类似,我们对比着学习。 先复习一下this关键字的使用。 this关键字: this能出现在实例方法和构造方法中; this的语法是“this.”和“this()”; ... -
java中Super到底是什么意思
2021-02-12 11:09:53要说super就先要说this。"this",作为一个特殊的关键字,它的规则如下:1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。2。可以在一个类的非... -
java中super的三种用法
2019-07-11 21:12:56java中super的用法 super只在子类中出现 super有三种用法 【1】 super.xxx; xxx可以是类的属性。 例如super.name;即从子类中获取父类name属性的值 【2】 super.xxx(); xxx()可以是类中的方法名。 super.xxx();的意义... -
Java中super是什么意思?
2021-02-12 11:09:54展开全部super在java的子类中指代父类引用java中,super的几种用法:1、子类的构造函数如果要引用super的话,必须把super放在函数的首e68a84e8a2ad3231313335323631343130323136353331333339663936位classBase{Base... -
Java中super关键字的使用
2021-05-09 18:43:34当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。 当子类重写了父类中的方法以后,我们想在子类的方法中调用父类中... -
下列选项中关于Java中super关键字的说法错误的是( )。
2021-03-16 17:33:41在确定薪酬水平时,中关a中企业通常可以采用( )策略。键字在线大学能够帮您做什么呢?法错在线大学几个关键概念有哪些?下列选项商业画布主要包括哪几大类?中关a中价值网的特征分别包括哪些?电阻的星形连接与... -
java中的super是什么
2021-03-06 01:51:38java中的super是什么发布时间:2020-07-01 11:00:48来源:亿速云阅读:83作者:Leahjava中的super是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来... -
Java中super()的使用
2018-09-12 22:10:183.super()的使用实例 一一一在子类的构造方法中 4.关于构造方法中super() 第一种情况:编译不通过 第二种情况:编译不通过 第三种情况:成功编译通过 1.super()的使用实例 一一一子类重写父类的方法 public... -
Java之super用法
2022-01-22 09:56:17java中super的用法 -
java中Super到底是什么意思?必须举例说明!
2019-08-12 15:22:043."超"关键字(super keyword) Super是一个参考(或说指针)指向他...注意: 下例中:子类和父类都有i,我们一共有两个i,用super可以指向前一个父类的i。 例1.3.1--- class AMark_to_win { int i; } class ... -
Java 构造方法中super()的作用以及使用
2019-09-19 09:27:39在类的继承中,子类的构造方法中默认会有super()语句存在,相当于执行父类的相应构造方法中的语句 如下面代码: class Extends_Demo { public static void main(String[] args) { Cat c = new Cat(); //----------... -
Java 常识(013):Java中的super关键字
2019-08-10 23:39:00文章目录1、Java 中 super 是什么2、为什么要用 super 关键字3、Java 中 super 的用法3.1、使用 super 调用父类的构造方法3.2、引用父类实例变量3.3、调用父类方法4、super 关键字与 this 关键字的区别 1、Java 中 ... -
Java中super函数的用法
2020-05-18 20:53:37访问父类中的隐藏成员变量。 常用的是访问父类方法,且参数个数类型必须一致 class A{ int x,y; A(int x,int y){ System.out.println("A"); } } class B extends A{ int Z; A(int x,int y,int z){ Z = z... -
java 构造方法中super()的作用
2019-04-27 09:58:481)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) 3)super: 它引用当前对象的直接父类中的成员... -
Java中super的用法
2018-05-24 11:19:53Java中,在执行子类的构造方法之前或者子类没有明确指定构造方法,会自动调用父类的无参构造方法。super的三种使用情况:访问父类方法中被覆盖的方法。调用父类构造方法。访问父类中的隐藏成员变量。class A{ int a... -
Java 中的super关键字
2018-04-15 10:31:50super关键字表示对某个类的父类的引用。一般而言,super有两种通用形式:第一种用来访问被子类的成员隐藏的父类成员;第二种则是可以调用父类的构造函数。接下来说一下两种使用形式的方法...在Java语言中,用过继承... -
Java中的extend、super关键字
2022-01-23 18:15:173、Java中的继承关系是单继承。 **super:**是直接父类对像的引用。 使用: 1、可以在子类中调用父类中被子类覆盖的方法 super.父类方法名称 2、当super在普通方法中使用的话,可以任意位置编写 -
一起学JAVA 继承 super
2021-05-10 08:49:27继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的能力. Java继承是会用已存在的类的定义作为基础建立新类的技术 新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不... -
Java中super关键字与final关键字
2020-04-19 19:50:39文章目录Java中super关键字Java中final关键字 Java中super关键字 super 可以理解为是指向自己父(超)类对象的一个指针,而这个超类指的是离自己最近的一个父类。 super关键字的作用: 调用父类的构造方法 调用父类... -
Java中的super关键字
2018-05-18 11:20:04本文重点介绍super关键字,在Java中的作用以及用法。一、定义 它是一个指代变量,用于在子类中指代父类对象。二、应用2.1 应用范围 只能用于构造函数和实例方法中,不能用于类(静态)方法中。原因是super指代的...