阅读和理解下面程序段: class Manager extends Employee{ public Manager(String n,double s,int year,int month,int day){ super(n,s,year,month,day); bonus=0; } public double getSalary(){ double baseSalary-super.gerSalary(); return baseSalary+bonus; } public void setBonus

题目

阅读和理解下面程序段: class Manager extends Employee{ public Manager(String n,double s,int year,int month,int day){ super(n,s,year,month,day); bonus=0; } public double getSalary(){ double baseSalary-super.gerSalary(); return baseSalary+bonus; } public void setBonus(double b){bonus=b; ) private double bonus; } Manager是Employee的子类,其理由是( )。

A.Manager的适用范围较宽

B.extends关键字声明

C.Manager的域减小了

D.雇员是一个经理


相似考题
参考答案和解析
正确答案:B
解析:本题考查Java中子类的概念。Java中通过在类声明中加入extends子句来创建子类,格式为:class SubClass extens SuperClass{…}。题目中class Manager extends Employee语句定义Manager类为Employee类的子类,所以选项B是正确答案。Manager类定义了Manager(String n,double s,int year,int month,int day)、getSalary()和setBonus(double b)成员方法和bonus成员变量。
更多“阅读和理解下面程序段:class Manager extends Employee{public Manager(String n,double s,int y ”相关问题
  • 第1题:

    下列选项中,列出用于定义类成员的访问控制权的一组保留字是()。

    A.class.float.double.public

    B.fioat.Boolean.int,long

    C.char.extends.float.double

    D.public.private.protected


    正确答案:D

  • 第2题:

    已知基类Employee只有一个构造函数,其定义如下: Employee::Employee(int n):id(n){ } Manager是Employee的派生类,则下列对Manager的构造函数的定义中,正确的是?

    A.Manager::Manager(int n):id(n){}

    B.Manager::Manager(int n){id=n;}

    C.Manager::Manager(int n):Employee(n){}

    D.Manager::Manager(int n){Employee(n);}


    Manger::manger(int n):Employee(n){}

  • 第3题:

    用于定义类成员的访问控制权的一组关键字是()

    A.class, float, double, public

    B.float, boolean, int, long

    C.char, extends, float, double

    D.public, private, protected


    public, private, protected

  • 第4题:

    阅读以下说明和Java程序,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
    【说明】
    以下Java代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分接口、类及其关系如图5-1所示。




    【Java代码】
    interface?DrawCircle?{? //绘制圆形 public(1) ;}class?RedCircle?implements?DrawCircle?{? ?//绘制红色圆形???????public?void?drawCircle(int?radius,intx,?int?y)??{????????????System.out.println("Drawing?Circle[red,radius:"?+?radius?+",x:"?+?x?+?",y:"?+y+?"]");???????}}class?GreenCircle?implements?DrawCircle?{????//绘制绿色圆形??????public?void?drawCircle(int?radius,?int?x,int?y)?{???????????System.out.println("Drawing?Circle[green,radius:"?+radius+",x:?"?+x+?",y:?"?+y+?"]");??????}}abstract?class?Shape?{????//形状? protected? ? (2)???;? ? public?Shape(DrawCircle?drawCircle)?{? ?this.drawCircle=?drawCircle;? ? ? public?abstract?void?draw();}class?Circle?extends?Shape?{? //圆形? ?private?int?x,y,radius;? public?Circle(int?x,int?y,intradius,DrawCircle?drawCircle)?{? ?(3)???;? this.x?=?x;? ? ? this.y?=?y;? ?this.radius?=radius;? }? ? ?public?void?draw()?{? ? drawCircle.? ?(4)? ?;? ? ? }}public?class?DrawCircleMain?{? public?static?void?main(String[]?args)?{? Shape?redCircle=new?Circle(?100,100,10,? (5) );//绘制红色圆形? Shape?greenCircle=new?Circle(200,200,10,(6) );//绘制绿色圆形? ?redCircle.draw(); greenCircle.draw();? ?}}


    答案:
    解析:
    (1)void drawCircle (int radius,int x,int y)
    (2)DrawCircle drawCircle
    (3)super.drawcircle=drawcircle
    (4)drawCircle(radius,x,y)
    (5)new RedCircle()
    (6)new GreenCircle()【解析】
    第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
    第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
    第三空这里用super,用super. drawcircle来引用父类的成员。
    第四空调用drawCircle(radius,x,y)方法。
    第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

  • 第5题:

    5、若类Manager继承于类Employee,两个类中均定义了同名方法getDetails,现有语句“Employee e=new Manager();”,则程序中的e.getDetails()将导致()。

    A.调用类Manager的getDetails方法

    B.调用类Employee的getDetails方法

    C.先调用类Employee的getDetails方法,然后再调用Manager类的getDetails方法

    D.先调用类Manager的getDetails方法,然后再调用Employee类的getDetails方法


    Employee e=new Manager();