任务7:继承、super关键字和方法重写
目标:学习Java中的继承、super关键字和方法重写。
步骤:
-
创建Grandma类: 创建一个名为Grandma的类,包含以下字段和方法:
- 字段:String name = "stella";, int age = 80;
- 方法:public void work() { System.out.println("Grandma works"); }
-
创建Mother类: 创建Mother类,继承自Grandma类,包含以下字段和方法:
- 字段:String name = "arasi";, int age = 50;
- 方法:public void work() { System.out.println("Mother works"); System.out.println("Mother's name: " + name); System.out.println("Grandma's name: " + super.name); System.out.println("Grandma's age: " + super.age); super.work(); } 注意这里使用了super关键字调用父类Grandma的work()方法。
-
创建Kid类: 创建Kid类,继承自Mother类,包含以下字段、方法和主方法:
- 字段:String name = "pavi";, int age = 30;
- 方法:
- public void work() { System.out.println("Kid works"); } (重写了父类的方法)
- public void study() { super.work(); System.out.println("Mother's age: " + super.age); System.out.println("Kid's name: " + name); System.out.println("Kid's age: " + age); System.out.println("Kid studies"); } 这里也使用了super关键字,但调用的是Mother类的work()方法。
- 主方法:public static void main(String[] args) { Kid kid = new Kid(); kid.study(); }
代码:
package b15;
class Grandma {
String name = "stella";
int age = 80;
public void work() {
System.out.println("Grandma works");
}
}
class Mother extends Grandma {
String name = "arasi";
int age = 50;
public void work() {
System.out.println("Mother works");
System.out.println("Mother's name: " + name);
System.out.println("Grandma's name: " + super.name);
System.out.println("Grandma's age: " + super.age);
super.work();
}
}
class Kid extends Mother {
String name = "pavi";
int age = 30;
public static void main(String[] args) {
Kid kid = new Kid();
kid.study();
}
public void work() {
System.out.println("Kid works");
}
public void study() {
super.work(); // Calls Mother's work() method
System.out.println("Mother's age: " + super.age);
System.out.println("Kid's name: " + name);
System.out.println("Kid's age: " + age);
System.out.println("Kid studies");
}
}
输出:
Mother works
Mother's name: arasi
Grandma's name: stella
Grandma's age: 80
Grandma works
Mother's age: 50
Kid's name: pavi
Kid's age: 30
Kid studies
这个输出展示了继承和super关键字的用法,以及方法重写的效果。 Kid类重写了work()方法,但通过super.work()仍然可以访问父类中的work()方法。 super关键字正确地访问了父类中的字段和方法。
以上就是任务7的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论