一、【必做题】Ⅰ.选择题1、列选项中哪个是类public class Test { }的默认构造方法__C__?A. Test();B. Test(void);C. public Test();D. public Test(void);E. public void Test();2、给定下列代码的执行结果是_E___?public class A {void A() {System.out.println(“Class A”);}public static void main(String[] args) {new A();}}A. Class AB. 在第2行处抛出异常C. 编译错误D. 在第6行处抛出异常E. 代码执行后没有输出***3、给定以下代码:1. public class ConstOver {2. public ConstOver (int x, int y, int z) {3. }4. }下列选项中,哪些可以在ConsOver类中定义成重载的构造方法___AC_:A. ConstOver ( ) { }B. int ConstOver ( ) { }C. ConstOver (int z, int y, byte x) { }D. Object ConstOver (int x, int y, int z) { }E. void ConstOver (byte x, byte y, byte z) { }4、以下代码的执行结果是__A___?//Illegal modifier for parameter i; only final is permittedA. 编译失败B. 编译成功,输出“0”C. 编译成功,输出“1”D. 编译成功,输出“2”5、以下代码的执行结果是__C___?A. 代码编译成功,并且打印“s=”B. 代码编译成功,并且打印“s=null”C. 代码编译失败,因为s为被初始化D.代码编译失败,因为s不可以被引用E. 代码编译成功,但是运行时抛出NullPointerException6、给定以下代码:12. void start() {13. A a = new A();14. B b = new B();15. a.s(b);16. b = null;17. a = null;18. System.out.println(“start completed”);}对于在第14行创建的对象b,系统什么时候会对它进行垃圾回收_D___?A. 在第16行之后B. 在第17行之后C. 在第18行之后(当函数执行完成后)D. 无法确定E. 垃圾回收器不会回收该对象Ⅱ. 程序分析题1、在指定位置上填写正确的代码:public class CircleStaticstatic double pi = 3.14;int radius=100;public static void main(String[ ] args){System.out.println( _pi_ ); //打印pi_ CircleStatic c = new CircleStatic ();_________________ ;System.out.println(__c._ radius _); //打印radius}}2、下面的程序有错误,请修正,并说明原因:public class CircleStatic {static double pi=3.14;int radius=100;public static void main(String[] args) {System.out.println(pi);System.out.println(radius); //静态方法里不能直接用非静态属性Circle c=new Circle();System.out.println(c.radius);}}class Circle {static double pi=3.14;int radius;public Circle(){ }public Circle(int r) {radius=r;}public static double getPi() {return pi;}public void static showArea() {// public static void showArea() 修饰符顺序不对System.out.println(pi*radius*radius);// 静态方法里不能直接用非静态属性/* Circle c=new Circle();System.out.println(pi*c.radius*c.radius);*/}}3、分析如下程序,写出执行结果://先静态块(只执行一次)方法块构造方法public class BlockDemo{public static void main(String[] args){Person p=new Person();Person q=new Person();p.sayHello();q.sayHello();}}class Person{static int eyeNum;String name;int age;double height;{ //非静态块System.out.println("non-static block");name="zhangsan";age=18;height=1.75;}static//静态块{System.out.println("static block");eyeNum=2;}public Person(){System.out.println("aaaaaaaaaaaa");}public void sayHello(){System.out.println("Hello, my name is "+name);}}static blocknon-static blockaaaaaaaaaaaanon-static blockaaaaaaaaaaaaHello, my name is zhangsanHello, my name is zhangsanⅢ.编程题1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。
(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。
(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。
()public class Point {private int x0;private int y0;public Point(){}public Point(int x0,int y0){t his.x0=x0;this.y0=y0;}public void movePoint(int dx,int dy){t his.x0 = this.x0 + dx;t his.y0 = this.y0 + dy;}}5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。
public class Point {private int x0;private int y0;public Point(){}public Point(int x0,int y0){t his.x0=x0;this.y0=y0;}public void movePoint(int dx,int dy){t his.x0 = this.x0 + dx;t his.y0 = this.y0 + dy;}}6.(1)定义一个动物类Creature1)定义一个方法setSnarl(Cat cat)可以设置动物发出猫的声音2)setSnarl(Dog dog)可以设置动物发出狗的声音3)定义一个outPut()方法,可以输出动物的声音(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7.定义一个圆类Circle,描述圆对象。
圆有一个属性radius表示半径,还有一个findArea 方法用于计算圆的面积。
定义一个测试类。
给半径赋值为5,并且输出圆的面积。
}8、定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。
(1)无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;(2) 输出笔记本信息的方法然后编写一个测试类,测试笔记本类的各个方法。
public class ComputeTest {public static void main(String[] args) {Computer c1 = new Computer();c1.showComputer();Computer c2 = new Computer('红', 32);c2.showComputer();}}class Computer {private char color;private int cpuNum;public Computer() {}public Computer(char color, int cpuNum) {this.color = color;this.cpuNum = cpuNum;}public char getColor() {return color;}public void setColor(char color) {this.color = color;}public int getCpuNum() {return cpuNum;}public void setCpuNum(int cpuNum) {this.cpuNum = cpuNum;}public void showComputer() {System.out.println("笔记本的颜色:" + getColor());System.out.println("笔记本的CPU型号:" + getCpuNum());}}9.定义一个汽车类Vehicle,要求如下:(1)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double 类型),并且所有属性为私有。