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代表啥意思??的主要内容,如果未能解决你的问题,请参考以下文章