class FatherA{ int x,y; FatherA(int x,int y){this.x=x;this.y=y;} static void show(){ System.out.println("FatherA静态方法"); } void compare(){ System.out.println(x+y); } } class SonB extends FatherA{ int x,y; Son
时间: 2023-12-01 09:03:49 浏览: 19
友元.docx
B(int x,int y){ super(x,y); this.x=x; this.y=y; } static void show(){ System.out.println("SonB静态方法"); } void compare(){ super.compare(); System.out.println(x*y); } }
在这段代码中,FatherA是一个父类,SonB是一个子类。子类继承了父类的属性和方法,并且可以重写父类的方法和添加自己的属性和方法。
在SonB中,构造方法使用了super关键字来调用父类的构造方法。子类中也有x和y属性,但它们不会覆盖父类中的x和y属性,因为父类中的属性是private的,子类只能继承而不能直接访问。
SonB中定义了一个静态方法show(),与父类中的静态方法同名,但是并不会覆盖父类中的方法。当子类对象调用show()方法时,会调用子类中的方法;当父类对象调用show()方法时,会调用父类中的方法。
在compare()方法中,子类使用了super关键字调用了父类的compare()方法,然后再添加自己的输出语句。这样做可以保留父类的功能,同时又添加了新的功能。当子类对象调用compare()方法时,会先调用父类中的compare()方法,再输出子类中的结果。
阅读全文