JAVA中的super代表啥意思??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中的super代表啥意思??相关的知识,希望对你有一定的参考价值。

super();表示调用父类的构造方法,只是调用方法,不构造对象。 super.fun();表示调用父类的某方法 在继承的时候这个方法是肯定被继承下来的。如果fun()这个方法在子类没有重写,那么super.fun();实际上跟直接调用fun();是一样的。 如果被重写了,那么super.fun();就是重写前的,fun();就是重写后的。 参考技术A super指的是父类。
resultOne值为0
因为中m和n都为0;
resultTwo值为40因为super.m=10;
super.n=20;给父类变量赋了值。result=super.f()+(m+n);
=
30+3+7
=
40;
resultThree值为15因为
resultTwo=b.f();
运算中父类中变量值已经改变为10和20所以
result=super.f();
return
result/2;
会得到15
参考技术B 构造器和方法,都用关键字super指向超类,但是用的方法不一样。
方法用这个关键字去执行被重载的超类中的方法。
看下面的例子:

class Mammal
void getBirthInfo()
System.out.println("born alive.");


class Platypus extends Mammal
void getBirthInfo()
System.out.println("hatch from eggs");
System.out.print("a mammal normally is ");
super.getBirthInfo();


在上面的例子中,使用super.getBirthInfo()去调用超类Mammal中被重载的方法。

构造器使用super去调用超类中的构造器。而且这行代码必须放在第一行,否则编译将出错。看下面的例子:

public class SuperClassDemo
SuperClassDemo()

class Child extends SuperClassDemo
Child()
super();


在上面这个没有什麽实际意义的例子中,构造器 Child()包含了 super,它的作用就是将超类中的构造器SuperClassDemo实例化,幷加到 Child类中。
回答完毕,不知道你明白了没有
参考技术C 调用超类,也就是调用父类 参考技术D super指向父类的一个实例

java中override是啥意思

参考技术A //@Override:覆盖(重写)父类中的一个方法。
//下面有一个例子。
//在你的类A中定义一个签名为
//@Override
//public boolean equals(Object obj)的方法就能重写(覆盖)Object类的同名方法了,
//以后调用equals方法比较两个类A的对象的相等性时,就会调用你重写的方法了。
//看例子。
public class Demo

public static void main(String[] args)

A a1=new A(1,'a'),a2=new A(1,'b'),a3=new A(1,'a');
//调用类A的重写的equals方法比较3个对象的相等性
//false
System.out.println(""+a1.equals(a2));
//true
System.out.println(""+a1.equals(a3));
//false
System.out.println(""+a2.equals(a3));


class A

A(int n,char c)

this.n=n;
this.c=c;

//@Override可省略
@Override
public boolean equals(Object obj)

System.out.println("调用了重写的类A的equals方法。");
boolean r=false;
A a;
if(obj instanceof A)

a=(A)obj;
r=(this.n==a.n && this.c==a.c);

return r;

private int n;
private char c;

以上是关于JAVA中的super代表啥意思??的主要内容,如果未能解决你的问题,请参考以下文章

泛化类的定义中<? extends T>和<? super T>各代表啥意思?

java中override是啥意思

java PMD 分别代表啥.

Java里的每个符号代表啥意思

SQL查询结果中的NULL代表啥意思

SQL查询结果中的NULL代表啥意思