文章目录
- 代码编程题
- 第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;
@Override
public void showB() {
System.out.println("B类中numb:" + numb);
}
@Override
public 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{
@Override
public void eat() {
System.out.println("人站着吃东西");
}
}
package com.atguigu.test10;
public class Dog extends Animal{
@Override
public 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{
@Override
public void eat() {
System.out.println("中国人用筷子吃饭");
}
}
class American extends Person{
@Override
public void eat() {
System.out.println("美国人用刀叉吃饭");
}
}
class Indian extends Person{
@Override
public void eat() {
System.out.println("印度人用手抓饭");
}
}
erride
public void eat() {
System.out.println("美国人用刀叉吃饭");
}
}
class Indian extends Person{
@Override
public void eat() {
System.out.println("印度人用手抓饭");
}
}