java练习题V1

内容发布更新时间 : 2025/6/18 14:47:38星期一 下面是文章的全部内容请认真阅读。

8、编译并运行下面的程序,观察分析运行结果,体会程序中super和this的用法,进一步理解变量隐藏和方法重写的概念。

package test1;

class SuperClss //定义父类 {

int x;

SuperClss( ) //父类的构造方法 {

x=10; }

void doClss( ) {

System.out.println(\); } }

class SubClss extends SuperClss //定义子类 {

int x;

SubClss( ) //子类的构造方法 {

super( ) ; x =100; }

//调用父类的构造方法

void doClss( ) //重写父类的doClss方法 {

System.out.println(\); }

void doDemo( ) //演示super和this的方法 {

int x; x=1000;

super.doClss( ); //调用父类的doClss方法 doClss( ); //调用本类的doClss方法

System.out.println(\+super.x); //父类的x System.out.println(\+this.x); //本类的x System.out.println(\+x); //本方法的x } }

public class SuperDemo {

public static void main(String args[ ]) //主方法 {

SubClss s = new SubClss(); s.doDemo(); }

}运行结果: SuperClss.doClass() SubClss.doClss() super.x=10 this.x=100 x=1000

体会:此程序中定义了一个父类,子类SubClss继承了父类SuperClss,在主函数中定义SubClss类对象 s时(即执行语句:SubClss s = new SubClss();时 ),自动调用类SubClss的构造函数SubClss(),再此构造函数中先执行“super( ) ;”语句,这样就调用类SuperClss的构造方法SuperClss( ),因为super来指明超类中的方法。同样在子类方法doDemo( )中,执行语句“super.doClss( );”时,则调用父类的方法doClss( )。如不用super 来指定的话,,则调用的是子类的方法doClss( ),这里子类SubClss()的成员方法doClss( )重写了父类SuperClss( )的成员方法doClss( )。

语句 “System.out.println(\”中super调用的是父类SuperClss的变量x,而语句 “System.out.println(\”中this调用的子类SubClss的变量x, 关键字this和super分别用来指明子

>>鐏炴洖绱戦崗銊︽瀮<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi