java实验5 类的继承 - 答案
Java程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。
(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。
二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。
三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。
安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。
教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。
2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。
3.编写并编译、运行一个Java Application程序。
创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。
public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。
1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。
Java程序设计 测验-4.1继承概念 深大优课UOOC 慕课答案

⼀、单选题(共 60.00 分)⼆、判断题(共 40.00 分)Java 程序设计(深圳⼤学继续教育学院引进课程) 测验-4.1继承概念1. A.B.C.D.下列关于继承的哪项叙述是正确的_______。
在java 中允许多重继承在java 中⼀个类只能实现⼀个接⼝在java 中⼀个类不能同时继承⼀个类和实现⼀个接⼝java 的单⼀继承使代码更可靠正确答案:D2. A.B.C.D.给出下⾯代码: 1) class Parent { 2) private String name ; 3) public Parent (){} 4) } 5) public class Child extends Parent { 6) private String department ; 7) public Child () {} 8) public String getValue (){ return name ; } 9) public static void main (String arg[]) { 10) Parent p = new Parent (); 11) } 12) } 那些⾏将引起错误?第3⾏第6⾏第7⾏第8⾏正确答案:D3. A.B.C.D.设有下⾯两个类的定义:class Person {class Student extends Person{long id ; // 身份证号int score ; //⼊学总分String name ; // 姓名int getScore () { return score ; } }} 问:类Person 和类Student 的关系是( )。
包含关系继承关系(内部类继承了外部类)关联关系⽆关系,上述类定义有语法错误正确答案:B1构造⽅法不能被继承1.A.B.正确错误正确答案:A2. A.B.⼀个⼦类可以重新定义从⽗类那⾥继承来的同名⽅法,⽽且允许它们有不同的返回值类型。
java实验报告 类的继承

java实验报告类的继承一、实验目的1、深入理解 Java 中类的继承概念和机制。
2、掌握通过继承实现代码复用和功能扩展。
3、学会使用 super 关键字和方法重写。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse 或 IntelliJ IDEA三、实验内容1、创建一个父类`Animal`包含属性:`name`(字符串类型),`age`(整数类型)包含方法:`eat()`(打印出动物正在吃东西),`sleep()`(打印出动物正在睡觉)2、创建子类`Dog` 继承自`Animal`新增属性:`breed`(字符串类型,表示狗的品种)重写父类的`eat()`方法,打印出狗吃东西的特有方式新增方法:`bark()`(打印出狗在叫)3、创建子类`Cat` 继承自`Animal`新增属性:`color`(字符串类型,表示猫的颜色)重写父类的`sleep()`方法,打印出猫睡觉的特有姿势新增方法:`meow()`(打印出猫在叫)四、实验步骤1、在 Java 项目中创建一个名为`Animal` 的类:```javapublic class Animal {private String name;private int age;public Animal(String name, int age) {thisname = name;thisage = age;}public void eat(){Systemoutprintln(name +" is eating");}public void sleep(){Systemoutprintln(name +" is sleeping");}}```2、创建一个名为`Dog` 的类继承自`Animal`:```javapublic class Dog extends Animal {private String breed;public Dog(String name, int age, String breed) {super(name, age);thisbreed = breed;}@Overridepublic void eat(){Systemoutprintln(supergetName()+" the "+ breed +" dog is eating greedily");}public void bark(){}}```3、创建一个名为`Cat` 的类继承自`Animal`:```javapublic class Cat extends Animal {private String color;public Cat(String name, int age, String color) {super(name, age);thiscolor = color;}@Overridepublic void sleep(){Systemoutprintln(supergetName()+" the "+ color +" cat is sleeping curled up");}public void meow(){}}```4、在`Main` 类中进行测试:```javapublic class Main {public static void main(String args) {Dog dog = new Dog("Buddy", 3, "Labrador");dogeat();dogbark();dogsleep();Cat cat = new Cat("Mimi", 2, "White");cateat();catsleep();catmeow();}}```五、实验结果1、运行`Main` 类后,输出结果如下:`Buddy the Labrador dog is eating greedily``Buddy is barking``Buddy is sleeping``Mimi is eating``Mimi the White cat is sleeping curled up``Mimi is meowing`2、可以看到,子类`Dog` 重写了父类`Animal` 的`eat()`方法,展示了狗特有的吃东西方式;子类`Cat` 重写了父类的`sleep()`方法,展示了猫特有的睡觉姿势。
JAVA复习习题(继承)

JAVA复习习题(继承)类的继承习题一、选择题1. Java语言的类间的继承关系是( B )。
A) 多重的B) 单重的C) 线程的D) 不能继承2. 以下关于Java语言继承的说法正确的是( C )。
A)Java中的类可以有多个直接父类B)抽象类不能有子类C)Java中的接口支持多继承D)最终类可以作为其它类的父类3. 现有两个类A、B,以下描述中表示B继承自A的是(D)。
A) class A extends B B) class B implements AC) class A implements B D) class B extends A4. 下列选项中,用于定义接口的关键字是( A)。
A)interface B) implements C) abstract D) class5. 下列选项中,用于实现接口的关键字是( B)。
A)interface B) implements C) abstract D) class6. Java语言的类间的继承的关键字是( B )。
A) implements B) extends C) class D) public7. 以下关于Java语言继承的说法错误的是( A )。
A)Java中的类可以有多个直接父类B)抽象类可以有子类C)Java中的接口支持多继承D)最终类不可以作为其它类的父类8. 现有两个类M、N,以下描述中表示N继承自M的是(D)。
A) class M extends N B) class N implements MC) class M implements N D) class N extends M9. 现有类A和接口B,以下描述中表示类A实现接口B的语句是(A)。
A) class Aimplements B B) class B implements AC) class Aextends B D) class B extends A10. 下列选项中,定义抽象类的关键字是( C)。
java继承练习题

java继承练习题Java继承练习题Java是一种面向对象的编程语言,其核心思想是将现实世界中的事物抽象为对象,并通过类的定义和实例化来描述和操作这些对象。
在Java中,继承是一种重要的机制,它允许一个类继承另一个类的属性和方法,从而实现代码的复用和扩展性。
在本文中,我们将通过一些练习题来巩固对Java继承的理解和应用。
练习题一:动物类和子类我们先定义一个动物类Animal,它具有属性name和age,并且有一个方法say()用于输出动物的叫声。
接下来,我们定义两个子类Dog和Cat,它们分别继承自Animal类,并且分别重写父类的say()方法。
其中,Dog类的say()方法输出"汪汪汪",Cat类的say()方法输出"喵喵喵"。
```javaclass Animal {protected String name;protected int age;public Animal(String name, int age) { = name;this.age = age;}public void say() {System.out.println("动物发出叫声");}}class Dog extends Animal {public Dog(String name, int age) {super(name, age);}@Overridepublic void say() {System.out.println("汪汪汪");}}class Cat extends Animal {public Cat(String name, int age) {super(name, age);}@Overridepublic void say() {System.out.println("喵喵喵");}}public class AnimalTest {public static void main(String[] args) {Animal animal = new Animal("动物", 5);animal.say();Dog dog = new Dog("小狗", 2);dog.say();Cat cat = new Cat("小猫", 1);cat.say();}}```练习题二:形状类和子类接下来,我们定义一个形状类Shape,它具有一个抽象方法area()用于计算形状的面积。
java面试题继承

java面试题继承继承是Java面向对象编程中重要的概念之一。
它允许一个类继承另一个类的属性和方法,使得代码的复用性和可维护性得到增强。
在面试中,经常会被问及关于继承的问题,这篇文章将介绍一些常见的Java继承面试题目并给出详细的解答。
1. 什么是继承?如何在Java中实现继承?继承是一种对象间的关系,它允许一个类(子类)继承另一个类(父类)的属性和方法。
在Java中,使用关键字"extends"来实现继承。
子类继承父类后,可以直接调用父类的非私有属性和方法,并可以重写(override)父类的方法。
2. Java中是否支持多重继承?如何解决多重继承的问题?Java不支持多重继承,即一个类只能继承一个父类。
这是为了避免多个父类中可能存在的方法和属性冲突问题。
为了解决这个问题,Java 引入了接口(interface)的概念。
接口允许一个类实现多个接口,从而达到类与类之间的多重继承效果。
3. super关键字的作用是什么?super关键字用于访问父类的属性和方法。
它可以在子类中调用父类的构造方法、访问父类的属性和调用父类的方法。
4. final关键字可以被继承吗?final关键字可以用来修饰类、方法和属性。
当final关键字用于修饰一个类时,该类不能被继承。
当final关键字用于修饰一个方法时,该方法不能被子类重写。
当final关键字用于修饰一个属性时,该属性成为常量,不能被修改。
5. private关键字可以被继承吗?private关键字用于修饰私有属性和方法,它们不能被子类继承。
子类只能通过调用父类的公有方法来访问父类的私有属性和方法。
6. 什么是方法的重写(override)?如何在Java中实现方法的重写?方法的重写是指子类对父类中的方法进行重新定义和实现。
子类可以在继承父类的同时,对父类的方法进行重写,以满足子类的特定需求。
为了实现方法的重写,子类需要使用与父类方法相同的方法名、参数列表和返回类型,并使用@Override注解来声明这是一个重写的方法。
java 实用教程(第5版)习题解答

习题解答习题1(第1章)一、问答题1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序。
3.源文件由若干个类所构成。
对于应用程序,必须有一个类含有public static void main(String args[])的方法,含有该方法的类称为应用程序的主类。
不一定,但至多有一个public类。
4.set classpath=D:\jdk\jre\lib\rt.jar;.;5.java和class6. java Bird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。
2.D。
三、阅读程序1.(a)Person.java。
(b)两个字节码,分别是Person.class和Xiti.class。
(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you”习题2(第2章)一、问答题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。
false不是标识符。
2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。
true和false不是关键字。
6个关键字:class implements interface enum extends abstract。
3.boolean,char,byte,short,int,long,float,double。
4.float常量必须用F或f为后缀。
double常量用D或d为后缀,但允许省略后缀。
5.一维数组名.length。
二维数组名.length。
二、选择题1.C。
2.ADF。
3.B。
4.BE。
程序员-5

程序员-5(总分:71.00,做题时间:90分钟)一、单项选择题(总题数:32,分数:71.00)1.以下关于类继承的说法中,错误的是______。
(分数:2.00)A.通过类继承,在程序中可以复用基类的代码B.在继承类中可以增加新代码C.在继承类中不能定义与被继承类(基类)中的方法同名的方法√D.在继承类中可以覆盖被继承类(基类)中的方法解析:[解析] 继承是类间的一种基本关系,是在某个类的层次关联中不同的类共享属性和操作的一种机制。
在“is-a”的层次关联中,一个父类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的公共属性和操作。
一个子类可以继承它的父类(或祖先类)中的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义它自己的属性和操作。
在继承类中可以定义与被继承类(基类)中的方法同名的方法。
一个子类只有唯一的一个父类,这种继承称为单一继承。
一个子类也可以有多个父类,它可以从多个父类中继承特性,这种继承称为多重继承。
例如,“水陆两用交通工具”类既可继承“陆上交通工具”类的特性,又可继承“水上交通工具”类的特性。
2.一个高度为h的满二叉树的结点总数为2h-1,其每一层结点个数都达到最大值。
从根结点开始顺序编号,每一层都从左到右依次编号,直到最后的叶子结点层为止。
即根结点编号为1,其左、右孩子结点编号分别为2和3,再下一层从左到右的编号为4、5、6、7,依此类推,那么,在一棵满二叉树中,对于编号为m和n的两个结点,若m=2n,则结点______。
(分数:2.00)A.m是n的左孩子√B.m是n的右孩予C.n是m的左孩子D.n是m的右孩子解析:[解析] 本题考查二叉树的基本概念和性质。
高度为4的满二叉树如下图所示。
从上图中选出任意两个满足m=2n的结点,例如m=8,n=4的结点,可以判断m是n的左孩子。
3.对象是面向对象系统的最基本的元素,一个运行期系统就是对象之间的协作。
一个对象通过______改变另一个对象的状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五类的继承
一、实验时间:姓名:学号:
二、实验目的
1、理解类继承的作用;
2、掌握方法的重写;
3、掌握super关键字的正确用法;
4、能够通过类的继承描述和解决实际问题;
三、知识点
1、方法的重写;
2、super关键字;
四、实验内容与步骤
1、以下程序的运行结果是:_____________________________ this is A constructor
class A
{
A()
{
System.out.println(“this is A constructor”);
}
}
public class B extends A
{
public static void main(String args[]){
B b=new B();
}
}
2、以下程序的运行结果是:_____________________________,如何修改?
错误,将类A中添加一个无参的构造方法即可。
class A
{
int a;
A(int a)
{
this.a=a;
System.out.println(“this is A constructor”);
}
}
{
public static void main(String args[]){
B b=new B();
}
}
3、以下程序有什么错误?为什么?如果Son和Father类不在同一个包中,则有什么错误?
package 继承;
public class Father {
private int a;
int b;
protected int c;
public int d;
}
package 继承;
public class Son extends Father{
public void getCY(){
System.out.print(a);
System.out.print(b);
System.out.print(c);
System.out.print(d);
}
}
以上程序System.out.print(a);有误,因为子类不能访问父类中的私有成员。
如果Son和Father类不在同一个包中,则System.out.print(a); System.out.print(b);
有误。
因为不在同一个包中的子类只能访问父类中访问权限是protected和public的成员。
3、按照以下要求完成类的设计:
1)雇员类:Employee类,包括姓名和薪水两个属性,构造方法和对两个属性取值的方法;
2)老板类:Boss类,继承于雇员类,包括姓名、薪水和奖金三个属性,构造方法,对奖金属性取值的方法,对薪水属性取值为老板的薪水加奖金。
3)测试类:用于对雇员类和老板类进行测试。
//雇员类
public class Employee {
private String name;
private int salary;
public Employee(String name,int salary){
=name;
this.salary=salary;
}
public String getName(){
return name;
}
public int getSalary(){
return salary;
}
//老板类
public class Boss extends Employee {//继承
private int bonus;
public Boss(String name,int salary,int bonus){
super(name,salary);//调用父类的构造方法,为name和salary赋值
this.bonus=bonus;
}
public int getBonus()
{
return bonus;
}
public int getSalary(){
return bonus+super.getSalary();
}
}
//测试类
public class TestEandB {
public static void main(String args[]){
Employee e1=new Employee("xiaoming",300);
System.out.println(e1.getName());
System.out.println(e1.getSalary());
Boss b1=new Boss("Daming",400,1000);
System.out.println(b1.getName());
System.out.println(b1.getSalary());
}
}
五、实验后记。