77范文网 - 专业文章范例文档资料分享平台

西南大学2017秋面向对象程序设计作业及答案(3)

来源:网络收集 时间:2018-12-06 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

throw new ArithmeticException(\被除数为0\ } }

本题参考答案: 答:错误之处:

SubClass1 中的 fun() 无法覆盖 SuperClass 中的 fun();被覆盖的方法不抛出 java.lang.Exception

public void fun() throws Exception { ^

26、问:下面的TestStaticMain.java程序能否通过编译?哪条语句会报错? public class TestStaticMain {

public static void main(String[] args) {

Person p = new Person(10, \ p.print(); }

class Person { private int ID; private String name;

Person(int ID, String name) { this.ID = ID; this.name = name; }

public void print() {

System.out.println(\ System.out.println(\ } } }

本题参考答案:

答:不能通过编译。Person p = new Person(10, \这一句会报错:无法从静态上下文中引用非静态变量this。

27、问:阅读下面的Java代码,写出打印语句(1)、(2)、(3)的输出结果,并解释原因。

String str1 = new String(\ String str2 = new String(\

System.out.println(str1 == str2); // (1) System.out.println(str1.equals(str2)); // (2) System.out.println(str1.hashCode()==str2.hashCode()); // (3) 本题参考答案: 答:

(1) false。因为==比较的是对象句柄,而对象str1,str2是完全独立的两个对象,它们的句柄是不同的。

(2) true。因为String类的equals()源码实现中重写了Object中的equals()方法:只要两个String对象的字符数组内容相同,就认为两个对象相等。

(3) true。因为String类的hashCode()源码实现中重写了Object类中的hashCode()方法:只要String的字符数组内容相同,hashCode就相同。

28、问:阅读下面的Java GUI Application。在点击“测试”按钮后,控制台的输出信息是什么? import java.awt.*; import javax.swing.*; import java.awt.event.*;

public class Test {

public static void main(String[] args) { new MyFrame().launchFrame(); } }

class MyFrame extends JFrame { JButton btn = new JButton(\测试\ Container ctp = getContentPane();

public void launchFrame() { setBounds(200,200,250,160); setResizable(false);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ctp.setLayout(new BorderLayout(10,10)); ctp.add(\

btn.addActionListener(new MyActionListener()); // btn1

btn.addActionListener(new YourActionListener()); // btn2

setVisible(true); }

class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { if(e.getSource() == btn) {

System.out.println(\ } } }

class YourActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { if(e.getSource() == btn) {

System.out.println(\

注册监听器注册监听器 } } } }

本题参考答案: 答:控制台输出: in YourActionListener in MyActionListener

因为点击事件首先被后注册的监听器new YourActionListener()处理,然后再被先注册的new MyActionListener()处理。

29、问:数组有没有length()这个方法? String有没有length()这个方法?

本题参考答案: 答:

数组没有length()方法,但有length属性。 String有length()方法。 30、问:&与&&的区别是什么?

本题参考答案:

答:&是位运算符;&&是布尔逻辑运算符。

31、问:有一个程序IO.java,代码如下。发现输入1之后,还没等到输入宽,程序就直接输出了637。为什么? import java.io.*; class IO {

public static void main(String args[]) throws IOException { System.out.println(\计算矩形面积\ System.out.print(\请输入长:\

int a, b;

a = System.in.read();

System.out.print(\请输入宽:\ b = System.in.read();

System.out.println(\计算矩形面积是:\ } } 运行:

C:\\temp>java IO 计算矩形面积 请输入长:1

请输入宽:计算矩形面积是:637 本题参考答案: 答:

因为System.in.read()接收的是字节0-255。

当输入字符1以后,其实返回的是ASCII码,也就是49。然后你又按了个回车,回车的ASCII码是13。 所以,结果相当于 a=49 b=13 49*13=637

32、问:下面的Java程序,打印结果是什么? public class Test {

public static void changeStr(String str) { str = \ }

public static void main(String[] args) {

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库西南大学2017秋面向对象程序设计作业及答案(3)在线全文阅读。

西南大学2017秋面向对象程序设计作业及答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/348105.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: