Java 2 实用教程(第5版)耿祥义版 习题七
一、問答題
1.?? ?內部類的外嵌類的成員變量在內部類中仍然有效嗎?
2.?? ?內部類中的方法也可以調用外嵌類中的方法嗎?
3.?? ?內部類的類體中可以聲明類變量和類方法嗎?
4.?? ?匿名類一定是內部類嗎?
二、選擇題
1.下列代碼標注的(A,B,C,D)中哪一個是錯誤的?
class OutClass {
? ? int m = 1;
? ? static float x; ? ? ? ? ? ? //A
? ? class InnerClass {
? ? ? ?int m =12; ? ? ? ? ? ?//B
? ? ? ?static float n =20.89f; ? //C?
? ? ? ?InnerClass(){
? ? ? ?}
? ? ? ?void f() {
? ? ? ? ? m = 100;
? ? ? ?}
? ? }
? ? void cry() {
? ? ? InnerClass tom = new InnerClass(); //D
? ? }
}
2.下列哪一個敘述是正確的?
A.和接口有關的匿名類可以是抽象類。
B.和類有關的匿名類還可以額外地實現某個指定的接口。
C.和類有關的匿名類一定是該類的一個非抽象子類。
D.和接口有關的匿名類的類體中可以有static成員變量。
三、閱讀程序
1.請說出下列程序的輸出結果。
class Cry {
? public void cry() {
? ? ? ?System.out.println("大家好");
? ? }
}
public class E {
? public static void main(String args[]) {
? ? ? ?Cry hello=new Cry() {
? ? ? ? ? ? ? ? ? ? public void ?cry() {
? ? ? ? ? ? ? ? ? ? ? ?System.out.println("大家好,祝工作順利!");
? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? };
? ? ? ? ?hello.cry();?
? ?}?
}
2.請說出下列程序的輸出結果。
interface Com{
? ?public void speak();
}
public class E {
? ?public static void main(String args[]) {
? ? ? Com p=new Com() {
? ? ? ? ? ? ? ? public void speak() {
? ? ? ? ? ? ? ? ? ?System.out.println("p是接口變量"); ? ?
? ? ? ? ? ? ? ? }
? ? ? ? ? ? };
? ? ? p.speak();
? ?}?
}
3.請說出下列程序的輸出結果。
import java.io.IOException;?
public class E {?
? ?public static void main(String args[]){?
? ? ? try { ?methodA();?
? ? ? }
? ? ? catch(IOException e){?
? ? ? ? ?System.out.print("你好");
? ? ? ? ?return; ?
? ? ? }?
? ? ? finally {
? ? ? ? System.out.println(" fine thanks");
? ? ? }
? }
? public static void methodA() throws IOException{?
? ? ? throw new IOException();?
? }?
}
4.實習下列程序,了解靜態內部類。
class RedCowForm {
? ? ?static class RedCow { ? //靜態內部類是外嵌類中的一種靜態數據類型
? ? ? ?void speak() {
? ? ? ? ?System.out.println("我是紅牛");
? ? ? }
? ?}
}
class BlackCowForm {
? ?public static void main(String args[]) {
? ? ? RedCowForm.RedCow red =?
new RedCowForm.RedCow(); ?//如果RedCom不是靜態內部類,此代碼非法
? ? ? red.speak();?
? ?}?
}
四、編寫程序
第3章例子9的程序允許用戶在鍵盤依次輸入若干個數字(每輸入一個數字都需要按回車鍵確認),程序將計算出這些數的和以及平均值。請在第3章的例子9中增加斷言語句,當用戶輸入的數字大于100或小于0時,程序立刻終止執行,并提示這是一個非法的成績數據。
?
?
總結
以上是生活随笔為你收集整理的Java 2 实用教程(第5版)耿祥义版 习题七的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 固态硬盘的优缺点
- 下一篇: Java设计模式:抽象工厂