当前位置:文档之家› java实验5 类的继承 - 答案

java实验5 类的继承 - 答案

实验五类的继承
一、实验时间:姓名:学号:
二、实验目的
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());
}
}
五、实验后记。

相关主题