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)在线全文阅读。
相关推荐: