Java中除了this,还有一个关键字super,super指父类,在类的继承中有重要的作用。
1.使用super访问父类的属性和方法
子类自动继承父类的属性和方法(除private修饰),一般情况下,直接使用父类的属性和方法,也可使用this来指明本对象。但有时为了明确指明父类的属性和方法,使用关键字super。
如:父类Person中有age属性,子类使用age,this.age,super.age来访问age是一样的:
void testSuper(){ int a; a=age; a=this.age; a=super.age; }
当然,使用super不能访问子类自己定义的属性和方法。
有时需要使用super来区别同名的属性和方法。使用super可以访问被子类隐藏的同名变量,或者当子类覆盖了父类的同名方法的同时,想调用父类的方法,使用super。如:
void sayHello(){ super.sayHello(); System.out.println("My School is"+school); }
2.使用父类的构造函数
在严格意义上,构造函数不允许继承,但这并不意味着子类不能调用父类的构造方法。子类在构造方法中,可以使用super来调用父类的构造函数。
Student(String name,int age,String school){ super(name,age); this.school=school; }
使用时,super应放在第一句。
3.使用super的注意事项
在使用super时,super指的是调用“对象”本身,而不是指父类中看见的属性和方法。由于他指的是对象,所以不能在static的环境中使用,包括类变量(static field)和类方法(static method),static语句块。
相关推荐
java中super关键字的三种用法
Java super关键字使用demo
java实现supermarket源码java实现supermarket源码java实现supermarket源码java实现supermarket源码java实现supermarket源码java实现supermarket源码java实现supermarket源码java实现supermarket源码java实现super...
java代码-使用java解决super的用法的源代码 ——学习参考资料:仅用于个人学习使用!
Java中的this和super的用法
要注意的是this只能在类中的非静态方法中使用, 静态方法和静态的代码块中绝对不能出现this。this也可作为构造函数来使用。在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针, 而...
java中this与super用法
java中this 与super的详解
对于java中this、super进行详细的解释
Java中this和super的用法。本文很详尽的描述了两者的区别。并用代码例证。
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
Java中static、this、super、final用法.doc
Java中static、this、super、final用法(word文档)
Java中super变量.pdf 学习资料 复习资料 教学资源
没看那篇博客额情况下请勿下载,觉得还弄不清楚可以联系我.
这是java学习总结出来的关于super的内容,供学习参考。
this和super ,这两个变量在使用前都是不需要声明的.this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象.super变量是直接指向超类的构造函数,用来引用超类中的变量和方法....
Java中super的几种用法并与this的区别,有案例分析,可以拷贝到myeclipce中运行。
Java之supermarket项目的数据库代码,一个关于超市的简单代码