zhlx2835 2015-02-27 12:52 采纳率: 33.3%
浏览 2860
已采纳

为什么要使用内部类,好处是什么

(1):有一个计算器类,具有运算功能,能对两个整数进行相加运算
(2):有一个闹钟类,具有闹铃功能,能发出懒猪起床的声音
(3):有一个手机类,需要同时拥有运算功能和闹铃功能,通过内部类实现多继承
(4):创建测试类,测试继承的两个功能
package com.bwie.innerClassDemo;

class Alarm {
public void ring() {
System.out.println("懒猪起床");
}
}

class Computer {
public void count(int a, int b) {
System.out.println("a+b=" + (a + b));
}
}
class Phone{
private myAlarm ma=new myAlarm();
private MyComputer mc=new MyComputer();
private class myAlarm extends Alarm{
public void ring() {
System.out.println("Iphone手机呼唤懒猪起床");
}
}
private class MyComputer extends Computer{

}
public void ring(){
    ma.ring();
}
public void count(int a,int b){
    mc.count(a, b);
}

}
public class TestPhone{
public static void main(String[] args) {
Phone p=new Phone();
p.ring();
p.count(12, 3);
}
}

没感觉出这段代码有什么好处,倒是觉得很繁琐,麻烦?还是不明白老师为啥这么写?

  • 写回答

4条回答 默认 最新

  • threenewbee 2015-02-27 13:24
    关注

    内部类有几个好处,一个是更清晰的层次关系,如果一个类型依附于另一个类型,那么内部类很好体现了这种层次关系。
    一个是内部类相当于友元类,可以定义对于外部来说私有,又可以被内部类访问的成员和函数。
    当然,你的代码仅仅是用于学习目的的,为写而写的,本身就没有意义,换言之,不用内部类,它也没用,当然你觉得它没有好处。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 7月17日