【艾琪出品】《Java语言程序设计》【参考】

中国石油大学(北京)网络与继续教育学院

考 试

一、简答题

1、什么是方法重写?

1、答案:

 

2、什么是多态?

2、答案:

 

3、抽象类和接口的区别?

3、答案:

 

4、sleep() 和 wait() 有什么区别?

4、答案:

 

5、Java流被分为字节流、字符流两大流类,两者有什么区别?

5、答案:

 

6、AWT和Swing的区别?

6、答案:

 

二、编程题

请按照题目的要求编写程序并给出运行结果。

1、设计一个学生类Student和它的一个子类Undergraduate,要求如下:

  1. Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息
  2. 本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息
  3. 在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。

1、答案:

 

2、设计一个Shape接口和它的两个实现类Square和Circle,要求如下:

1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果

2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回,在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积

  1. 答案:

 

3、使用TCP协议编写一个网络程序,设置服务器程序监听端口为8002,当与客户端建立连接后,向客户端发送“hello world”,客户端接负责将信息输出。提示:

1)使用ServerSocket创建服务器端对象,监听8002端口,调用accept()方法等待客户端连接,当与客户端连接后,调用Socket的getOutputStream()方法获得输出流对象,输出“hello world。

2)使用Socket创建客户端对象,指定服务器的IP地址和监听端口号,与服务器端建立连接后,调用Socket的getInputStream()方法获得输入流对象,读取数据,并打印出来

3)在服务器端和客户端都调用close()方法释放socket资源。

3、答案:

 

三、图形界面编程题3题,每题10分,共30分)(要求:给出运行界面的截图

 

1、编写一个JFrame窗口,要求如下:

1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键点击的坐标”

2)为JFrame窗口添加一个鼠标事件,当鼠标右键点击窗口时,鼠标的坐标在JLabel标签中显示

1、答案:

 

2、编写一个JFrame窗口,要求如下:

1)窗口中的NORTH区域中放置一个JPanel面板

2)JPanel面板中从左到右依次放置如下组件:

JLabel标签,标签的文本为“兴趣”

三个JCheckBox多选按钮,文本分别为“羽毛球”、“乒乓球”、“唱歌”

JLabel标签,标签的文本为“性别”

两个JRadioButton按钮,文本分别为“男”、“女”

3)窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域

4)当点击多选按钮和单选按钮时,会把选中按钮的文本显示在JTextArea文本域中。

2、答案:

 

3、编写一个JFrame窗口,要求如下:

1)窗口包含一个菜单栏和一个JLabel标签。

2)菜单栏中有两个菜单,第一个菜单有两个菜单项,它们之间用分隔符分开,第二个菜单有一个菜单项。

3)JLabel标签放置在窗口的中间(即BorderLayout.CENTER),当点击菜单项的时候,菜单项中的文本显示的JLabel标签中。

3、答案:

 

四、程序分析题1题,每题10分,共10分)

(要求:依据学号末尾数选择题号,101:例如学号尾号为1完成分析代码一;学号尾号为2完成分析代码二;学号尾号为3完成分析代码三;依此类推。学号尾号为0完成分析代码十;)

 

阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。

代码一:

public class Test02 {

    public static void main(String[] args){

        int x = 12;

        {

            int y = 96; 

            System.out.println("x is " + x);

            System.out.println("y is " + y);

        }

        y = x;

        System.out.println("x is " + x);     

    }

}

答案:

 

代码二:

public class Test03 {

    public static void main(String args[]) {

        int x = 4, j = 0;

        switch (x) {

        case 1:

            j++;

        case 2:

            j++;

        case 3:

            j++;

        case 4:

            j++;

        case 5:

            j++;

        default:

            j++;

        }

        System.out.println(j);

    }

}

答案:

 

代码三:

public class Test04 {

    public static void main(String args[]) {

        int n = 9;

        while (n > 6) {

            System.out.println(n);

            n--;

        }

    }

}

答案:

 

代码四:

class A {

    private int secret = 5;

}

public class Test1 {

    public static void main(String[] args) {

        A a = new A();

        System.out.println(a.secret++);

    }

}

答案:

 

代码五:

public class Test2 {

    int x = 50;

    static int y =200 ;

    public static void method() {

        System.out.println(x+y);

    }

    public static void main(String[] args) {

        Test2.method();

    }

}

答案:

 

代码六:

public class Outer {

    public String  name="Outer";

    private class Inner {

        String name="inner";

        void showName(){

            System.out.println(name);

        }

    }

    public static void main(String[] args) {

        Inner inner = new Outer().new Inner();

        System.out.println(inner.name);

    }

}

答案:

 

代码七:

public class Test01 {

    public static void main(String[] args) {

        try {

            int x = 2 / 0;

            System.out.println(x);

        } catch (Exception e) {

            System.out.println("进入catch代码块");

        } finally {

            System.out.println("进入finally代码块");

        }

    }

}

答案:

 

代码八:

final class Animal {

    public final void shout() {

        // 程序代码

    }

}

class Dog extends Animal {

    public void shout() {

        // 程序代码

    }

}

class Test02 {

    public static void main(String[] args) {

        Dog dog=new Dog();

    }

}

答案:

 

代码九:

class Animal {

    void shout() {

        System.out.println("动物叫!");

    }

}

class Dog extends Animal {

    void shout() {

        super.shout();

        System.out.println("汪汪……");

    }

}

public class Test03 {

    public static void main(String[] args) {

        Animal animal = new Dog();

        animal.shout();

       

    }

}

答案:

   

代码十:

interface Animal {

    void breathe(); 

    void run();

    void eat(){};

}

class Dog implements Animal { 

    public void breathe() {

    System.out.println("I’m breathing")

}

    public void eat() {

    System.out.println("I’m eathing")

}

}

public class test04 {

    public static void main(String [] args) {

      Dog dog = new Dog();

      dog.breathe();

      dog.eat();

}

}

答案:

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值