Java继承练习

练习
一、选择

1、在Java中,以下程序的输出结果是 A
在这里插入图片描述
A. Super–>print
B. Test–>print
C. Super–>print
Test–>print
D. 编译错误

2、在Java中,以下关于方法重载和方法重写描述正确的是 D
A. 方法重载和方法重写实现的功能相同
B. 方法重载出现在父子关系中,方法重写是在同一类中
C. 方法重载的返回类型必须一致,参数项必须不同
D. 方法重写需要出现在满足继承关系的子类中

3、哪个选项中的方法插入到(1)处可以正确实现方法重写 C

A. public static void bark(){}
B. public final void display(){}
C. public void eat(String food){}
D. public boolean eat(String food){}

4、在下面程序的注释1处补充上下列()方法,会导致在编译过程中发生错误
A. public float getNum() { return 4.0f; }
B. private float getNum() {return 4.0f;}
C. public void getNum(double d){}
D. public double getNum(float d){ return 4.0f; }

5、如下Java源文件,编译并运行Child.java后,以下结果描述正确的是 B
在这里插入图片描述
A. 编译错误:没有找到构造器Child()
B. 编译错误:没有找到构造器Parent1()
C. 正确运行,没有输出值
D. 正确运行,输出结果为:parent2

6、分析如下所示的Java代码,则选项中的说法正确的是 C
在这里插入图片描述
A. 第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数 名相同
B. 第3行错误,应使用super关键字调用父类的name属性,改为 super.name=“hello”
C. 第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行
D. 程序编译通过,无错误

7、关于super的说法正确的是 C
A. 是指当前子类的对象
B. 是指当前类的对象
C. 是指当前父类的对象
D. 可以用在main()方法中

8、阅读下面JAVA代码片段,正确的选项是 B
在这里插入图片描述
A. 第1行编译错误,但能输出正确结果
B. 第2行编译错误,但能输出正确结果
C. 第3行编译错误,不能输出正确结果
D. 第4行编译错误,不能输出正确结果

9、下列关于super和this的说法正确的是(多选) ABD
A. this关键字通常指当前对象
B. super关键字则指父类对象
C. 在一个类中this只可以调用当前类中公有属性和方法
D. 在一个类中super可以调用父类中允许被访问的属性和方法

10、下列关于Object类的叙述错误的是 D
A. Object类是所有类的父类
B. 所有类都可以继承Object中允许被继承的方法
C. 一个类没有使用extends关键字明确标识继承关系,则默认继承Object类
D. 要想继承Object类,必须使用extends关键字标识继承关系,否则不会实现继承

11、该段代码的运行结果为 D
在这里插入图片描述
A. true
B. 相等
C. 不相等
D. false

12、在Java中,关于继承的说法错误的是 C
A. 使用extends关键字实现一个类继承另一个类
B. 所有的Java类都直接或间接地继承了java.lang.Object类
C. 在子类的构造方法中,必须显式调用父类的构造方法
D. 在子类的构造方法中,可以通过super关键字调用父类的构造方法

13、下列关于final的说法错误的是 C
A. final修饰的变量值不允许被修改
B. final修饰的方法不可被重写
C. final可以修饰所有方法
D. final不可以修饰构造方法

二、编程
1、编程练习:某公司要开发“XX车行管理系统”,请使用面向对象的思想,设计自定义类描述自行车、电动车和三轮车。
程序参考运行效果图如下:
在这里插入图片描述
任务
任务分析;
第一步:分析自行车、电动车和三轮车的共性:

都是非机动车,具有非机动车的基本特征
都有运行的方法
第二步:根据共性,定义非机动车
属性:品牌、颜色、轮子(默认2个)、座椅(默认 1个)
方法:

  1. 编写无参构造方法、双参构造方法和四参构造方法,其中,在双参构造方法中,完成对品牌和颜色的赋值;在四参构造方法中,完成对所有属性的赋值
  2. 编写运行的方法,描述内容为:这是一辆颜色的,牌的非机动车,有个轮子,有个座椅的非机动车。其中**的数据由属性提供

第三步:定义自行车、电动车和三轮车分别继承自行车类,要求:

自行车类:
在构造方法中调用父类多参构造,完成属性赋值
重写运行方法,描述内容为:这是一辆颜色的,牌的自行车。其中的数据由属性提供
电动车:
增加“电池品牌”属性
重写运行方法,描述内容为:这是一辆使用
牌电池的电动车。其中的数据由属性提供
三轮车:
在无参构造中实现对轮子属性值进行修改
重写运行方法,描述内容为:三轮车是一款有
个轮子的非机动车。其中**的数据由属性提供
父类

public class Vehicle {
   
	//自行车、电动车和三轮车的共性:都是非机动车,具有非机动车的基本特征
	//都有运行的方法
	//属性:品牌、颜色、轮子(默认2个)、座椅(默认1个)
	//品牌
	private String brand;
	//颜色
	private String color;
	//轮子
	private int wheel = 2;
	//座椅
	private int seat = 1;
	
	//无参构造方法
	public Vehicle() {
   
	
	}

	//带参构造
	//在双参构造方法中,完成对品牌和颜色的赋值
	public Vehicle(String brand,String color) {
   
		this.setBrand(brand);
		this.setColor(color);
	}

	//在四参构造方法中,完成对所有属性的赋值
	public Vehicle(String brand,String color,int wheel,int seat) {
   
		this.setBrand(brand);
		this.setColor(color);
		this.setWheel(wheel);
		this.setSeat(seat);
	}
	
	//get/set方法
	 public String getBrand() {
   
        return this.brand;
    }

    public void setBrand(String brand) {
   
        this.brand = brand;
    }

    public String getColor() {
   
        return this.color;
    }

    public void setColor(String color) {
   
        this.color = color;
    }

    public int getWheel() {
   
        return this.wheel;
    }

    public void setWheel(int wheel) {
   
        this.wheel = wheel;
    }
    
    public int getSeat() {
   
		return seat
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值