单选题下列选项中,能实现对父类的getSalary方法重写的是(  )。 class Employee{ public double getSalary(){} }A class Manager extends Employee{ public int getSalary(double x){} }B class Manager extends Employee{ public double getSalary(int x,int y){} }C class Manager extends Employe

题目
单选题
下列选项中,能实现对父类的getSalary方法重写的是(  )。 class Employee{ public double getSalary(){} }
A

class Manager extends Employee{
public int getSalary(double x){}
}

B

class Manager extends Employee{
public double getSalary(int x,int y){}
}

C

class Manager extends Employee{
public double getSalary(){}
}

D

class Manager extends Employee{
public int getSalary(int x,int y){}
}

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在下列源代码文件Test.java中,正确定义类的代码是( )。

A.pblic class test { public int x=0; public test(int x) { this. x=x;} }

B.public class Test { public int x=0; public Test(int x) { this. x=x;} }

C.public class Test extends T1,T2{ public int x = 0; public Test(int x){ this. x = x; } }

D.protected class Test extends T2{ public int x = 0; public Test(int x) { this. x = x; } }


正确答案:B
解析:本题主要考查类声明格式为[修饰符]class类名[extends父类名][implements类实现的接口列表],选项A中源文件名与程序名不相同,Java不支持多重继承所以选项C错误,选项D中类的访问权限不对,应为public。

第2题:

在下列源代码文件Test.java中, ( )是正确的类定义。

A.public class test{

B.public class Test{ public int x=0;public int x=0; public test (intx) public Test (int x){ {this.x=x; this.x=x;} }} }

C.public class Test extends T1,T2{

D.protected class Test extends T2{ public int=0;public int x=0; public Test(int x){Public Test (int x){ this.x=x;this.x=x: }} }}


正确答案:B

第3题:

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。

[说明]

本程序的功能是给公司的员工Tom,Jack,Green增加薪水。三人的职位分别是programmer, Manager,CEO。

程序由6个类组成:WorkerTest是主类,programmer,Manager,CEO三个类,薪水增加的规则是 programmer的涨幅是5%;Manager的是10%;CEO也是Manager,但是它除了有Manager的涨幅,还有1000元的bonus。接口SalaryRaise提供了一个增加薪水的方法raise()。

[java程序]

public class WorkerTest {

public WorkerTest( ) {}

public static void main( String[] args) {

Programmer programmer = new Programmer( "Tom" ,3000);

Manager manager = new Manager( "Jack" ,4000);

CEO ceo = new CEO( "Green" ,4000);

Worker [] worker = new Worker[3];

programmer, raise( );

manager, raise( );

ceo. raise( );

worker[0] = programmer;

worker [1] = manager;

worker[2] = ceo;

for ( int i = 0 ;i < worker, length; i + + ) {

System. out. prinfln (" Name:" + worker [i]. getName ( ) +" \ tSalary:" + worker [i]. getSalary ());

public interface SalaryRaise { void raise( ); }

public class Worker {

public String name;

public double (1);

public Worker( ) {}

public String getName( ) {return name;}

public void setName( String name) {this. name = name;}

public double getSalary( ) {return salary;}

public void setSalary(double salary) { this. salary = salary; }

}

public class Programmer extends Worker implements (2) {

public Programmer( ) {}

public void raise( ) {

double pets=0.05;

double sala = this. getSalary( ) * (1 + pers);

this. setSalary (sala);

public Programmer( Siring name, double salary) t

this. name = name;

this. salary = salary;

public class Manager extends (3) implements SalaryRaise {

public Manager( ) { }

public Manager(String name, double salary) {

this. name = name;

this. salary = salary;

}

public void raise( ) {

double pets = 0.1;

double sala = this. getSalary() * (1 + pers);

this. setSalary(sala);

}

}

public class CEO extends Manager implements SalaryRaise {

public CEO() {}

public CEO( String name,double salary) {

this. name = name;

this. salary = salary;

}

public void raise( ) {

double bonus = 1000;

(4);

double sala = this. getSalary( );

(5);

this. setSalary(sala);

}

}


正确答案:(1)salary (2)SalaryRalse (3)Worker (4) super. raise() (5)sala+=bonus及其等效形式
(1)salary (2)SalaryRalse (3)Worker (4) super. raise() (5)sala+=bonus及其等效形式 解析:(1)从Worker这个类的结构来看,它有两个属性ufinle和salary,因此这里应该填salary;
(2)~(3):很显然Programmer类和Manager类继承于 Worker类和SalaryRaise接口。
(4)~(5):CEO类继承于Manager类,而根据题意, CEO除了有Managor的涨幅,还有1000元的bonus。所以,CEO薪水的涨幅可以使用基类相同的方法super. raise(),然后再加上奖金sala+=bonus即可。

第4题:

interface Data { public void load(); }  abstract class Info { public abstract void load(); }  Which class correctly uses the Data interface and Info class?() 

  • A、 public class Employee extends Info implements Data { public void load() { /*do something*/ } }
  • B、 public class Employee implements Info extends Data { public void load() { /*do something*/ } }
  • C、 public class Employee extends Info implements Data { public void load() { /*do something */ } public void Info.load() { /*do something*/ } }
  • D、 public class Employee implements Info extends Data { public void Data.load() { /*dsomething */ } public void load() { /*do something */ } }
  • E、 public class Employee implements Info extends Data { public void load() { /*do something */ } public void Info.load(){ /*do something*/ } }
  • F、 public class Employee extends Info implements Data{ public void Data.load() { /*do something*/ } public void Info.load() { /*do something*/ } }

正确答案:A

第5题:

在下列源代码文件Test.java中,哪个选项是正确的类定义?

A.public class test{ public int x=0; public test(int x ) { this.x=x; } }

B.public class Test { public int x=0; public Test(int x ) { this.x=x; } }

C.public class Test extends T1 T2 { public int x=0; public Test(int x){ this.x=x; } }

D.protected class Test extends T2 { public int x=0; public Test(int x) { this.x=x; } }


正确答案:B
解析:类声明格式为[修饰符]class类名[extends父类名][implements类实现的接口列表],选项A)中源文件名与程序名不相同,Java不支持多重继承所以选项C)错误,选项D)中类的访问权限不对应为public。

第6题:

已知:Manager extends Employee观察:public Manager(String n,double s,int year,int month,int day) { super(n,s,year,month,day); bonus=0; }其中super是 ( )

A.Object类

B.Manager类

C.Employee类

D.Class类


正确答案:C
解析:本题中有extends这说明是继承,子类Manager继承父类Employee,使用变量super能够实现对父类成员的访问,所以本题中super指的是父类Employee。

第7题:

已知类的继承关系如下:class Employee;class Manager extends Employeer;class Director extends Employee;则以下语句能通过编译的有哪些?

A.Employee e=new Manager();

B.Director d=new Manager();

C.Director d=new Employee();

D.Manager m=new Director();


答案:A

第8题:

阅读和理解下面程序段: 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成员变量。

第9题:

Which three demonstrate an “is a” relationship?() 

  • A、 public class X {  }     public class Y extends X { }
  • B、 public interface Shape { }     public interface Rectangle extends Shape{ }
  • C、 public interface Color { }     public class Shape { private Color color; }
  • D、 public interface Species { }     public class Animal { private Species species; }
  • E、 public class Person { }    public class Employee {      public Employee(Person person) { }
  • F、 interface Component { }     class Container implements Component {   private Component[] children; }

正确答案:A,B,F

第10题:

public class Employee{       private String name;  public Employee(String name){           this.name = name;      }  public String getName(){         return name;      } }  public class Manager extends Employee{       private String department;  public Manager(String name,String department){          this.department = department;          super(name);  System.out.println(getName());      }  }  执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?() 

  • A、 smith
  • B、 null
  • C、 SALES
  • D、 编译错误

正确答案:D

更多相关问题