当前位置:文档之家› java语言与面向对象技术复习资料

java语言与面向对象技术复习资料

一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。

B.a[1]的值是1。

C.a[0]的值是0。

D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。

class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。

C.成员变量没有默认值。

D.局部变量没有默认值。

7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;}B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。

1、public class TV {int channel; //电视频道void setChannel(int m) {if(m>=1){channel=m;}}int getChannel(){【代码1】// 返回成员变量的值}void showProgram(){switch(channel) {case 1 : System.out.println("综合频道");break;case 2 : System.out.println("经济频道");break;case 3 : System.out.println("文艺频道");break;case 4 : System.out.println("国际频道");break;case 5 : System.out.println("体育频道");break;default : System.out.println("不能收看"+channel+"频道");}}}public class Family {TV homeTV;void buyTV(TV tv) {【代码2】//将参数tv赋值给homeTV }void remoteControl(int m) {【代码3】//调用setChannel()方法}void seeTV() {【代码4】//调用showProgram()方法}}public class MainClass {public static void main(String args[]) {TV haierTV = new TV();【代码5】//haierTV调用setChannel(int m),并向参数m传递5System.out.println("haierTV的频道是"+haierTV.getChannel());Family zhangSanFamily = new Family();【代码6】//zhangSanFamily调用void buyTV(TV tv)方法,并将haierTV传递给参数TV System.out.println("zhangSanFamily开始看电视节目");zhangSanFamily.seeTV();int m=2;System.out.println("hangSanFamily将电视更换到"+m+"频道");zhangSanFamily.remoteControl(m);System.out.println("haierTV的频道是"+haierTV.getChannel());System.out.println("hangSanFamily再看电视节目");zhangSanFamily.seeTV();}}2、abstract class Employee {public abstract double earnings();}class YearWorker extends Employee {【代码1】//重写earnings()方法}class MonthWorker extends Employee {【代码2】//重写earnings()方法}class WeekWorker extends Employee {public void earnings() {return 52*780;}}class Company {Employee[] employee;double salaries=0;Company(Employee[] employee) {this.employee=employee;}public double salariesPay() {salaries=0;for (int i=0;i<employee.length;i++ ) {salaries=salaries+employee[i].earnings();}return salaries;}}public class CompanySalary {public static void main(String args[]) {【代码3】//公司有29名雇员【代码4】{ //雇员简单地分成三类if(i%3==0)employee[i]=new WeekWorker();else if(i%3==1)employee[i]=new MonthWorker();else if(i%3==2)employee[i]=new YearWorker();}Company company=new Company(employee);System.out.println("公司薪水总额:"+company.salariesPay()+"元");}}三、阅读程序写结果题。

1、Public class E {Public static void main (String []args) {Int x=1,y=6;While (y-->0) {x--;}System.out.print(“x=”+x+”,y=”+y);}}2、class B {int n;static int sum=0;void setN(int n) {this.n=n;}int getSum() {for (int i=1;i<=n;i++)sum=sum+i;return sum;}}public class A {public static void main(String args[]) {B b1=new B(),b2=new B();b1.setN(3);b2.setN(5);int s1=b1.getSum();int s2=b2.getSum();System.out.println(s1+s2);}}3、请说出E类中【代码1】~【代码4】的输出结果。

class A {double f(double x,double y) {return x+y;}static int g(int n) {return n*n;}}class B extends A {double f(double x,double y) {double m=super.f(x,y);return m+x*y;}static int g(int n) {int m=A.g(n);return m+n;}}public class E {public static void main(String args[])B b=new B();System.out.println(b.f(10.0,8.0)); //【代码1】System.out.println(b.g(3)); //【代码2】A a=new B();System.out.println(a.f(10.0,8.0)); //【代码3】System.out.println(a.g(3)); //【代码4】}}【代码1】【代码2】【代码3】【代码4】四、编程题1。

相关主题