文章目录
- 代码编程题
- 第1题
- 第2题
- 第3题
代码编程题
第1题
- 知识点:抽象类
- 语法点:继承,抽象类
- 按步骤编写代码,效果如图所示:
编写步骤:
- 定义抽象类A,抽象类B继承A,普通类C继承B
- A类中,定义成员变量numa,赋值为10,抽象showA方法。
- B类中,定义成员变量numb,赋值为20,抽象showB方法。
- C类中,定义成员变量numc,赋值为30,重写showA方法,打印numa,重写showB方法,打印numb,定义showC方法,打印numc。
- 测试类Test09中,创建C对象,调用showA方法,showB方法,showC方法。
package com.atguigu.test09;public class Test09 {public static void main(String[] args) {C c = new C();c.showA();c.showB();c.showC();}
}
abstract class A{protected int numa = 10;public abstract void showA();
}
abstract class B extends A{protected int numb = 20;public abstract void showB();
}
class C extends B{private int numc = 30;@Overridepublic void showB() {System.out.println("B类中numb:" + numb);}@Overridepublic void showA() {System.out.println("A类中numa:" + numa);}public void showC(){System.out.println("C类中numc:" + numc);}
}
第2题
知识点:抽象类
案例:
1、声明抽象父类Animal,包含抽象方法public abstract void eat();2、声明子类Dog,重写抽象方法,打印趴着吃东西3、声明子类Person,重写抽象方法,打印站着吃东西4、声明测试类Test10,创建Animal数组,存放Dog和Person对象,并遍历数组,调用eat()方法
package com.atguigu.test10;public abstract class Animal {public abstract void eat();
}
package com.atguigu.test10;public class Person extends Animal{@Overridepublic void eat() {System.out.println("人站着吃东西");}}
package com.atguigu.test10;public class Dog extends Animal{@Overridepublic void eat() {System.out.println("狗趴着吃东西");}}
package com.atguigu.test10;public class Test10 {public static void main(String[] args) {Animal[] all = new Animal[2];all[0] = new Person();all[1] = new Dog();for (int i = 0; i < all.length; i++) {all[i].eat();}}
}
第3题
知识点:抽象类
案例:
1、声明抽象父类Person,包含抽象方法public abstract void eat();2、声明子类中国人Chinese,重写抽象方法,打印用筷子吃饭3、声明子类美国人American,重写抽象方法,打印用刀叉吃饭4、声明子类印度人Indian,重写抽象方法,打印用手抓饭5、声明测试类Test11,创建Person数组,存储各国人对象,并遍历数组,调用eat()方法
package com.atguigu.test11;public class Test11 {public static void main(String[] args) {Person[] all = new Person[3];all[0] = new Chinese();all[1] = new American();all[2] = new Indian();for (int i = 0; i < all.length; i++) {all[i].eat();}}}
abstract class Person{public abstract void eat();
}
class Chinese extends Person{@Overridepublic void eat() {System.out.println("中国人用筷子吃饭");}}
class American extends Person{@Overridepublic void eat() {System.out.println("美国人用刀叉吃饭");}}
class Indian extends Person{@Overridepublic void eat() {System.out.println("印度人用手抓饭");}}
erridepublic void eat() {System.out.println("美国人用刀叉吃饭");}}
class Indian extends Person{@Overridepublic void eat() {System.out.println("印度人用手抓饭");}}