黑马程序员技术交流社区

标题: 关于继承的问题 [打印本页]

作者: 张洁    时间: 2012-6-9 17:56
标题: 关于继承的问题
class Father
{
        class InC
        {
                ...
        }

        ...
}

class Son extends Father
{
        ...
}

比如这样一个继承,成员变量,方法的继承我知道~
但是父类里面的内部类怎么实现啊~

怎么用呢~有点疑惑
作者: 黑马-王言龙    时间: 2012-6-9 18:14
本帖最后由 wyl530274554 于 2012-6-9 18:16 编辑
  1. class Father
  2. {
  3.         class InC
  4.         {
  5.                 public void method() {
  6.                         ...
  7.                 }
  8.         }
  9.         
  10.         ...
  11. }

  12. class Son extends Father
  13. {
  14.          ...
  15. /*外部其它类要用Inc里的内容,就需要创建Inc类的对象
  16.         比如调用Inc里的方法:new Father().new Inc().method();
  17. */

  18. }
复制代码

作者: 孙峰    时间: 2012-6-9 18:21
内部类如果在成员位置上,被public 修饰时,需要建立一个外部类的对象,然后由该对象调用。  如果被修饰为static,则直接 Father.Inc()调用实现啊
作者: 石琪    时间: 2012-6-9 18:39
来一个形象点的吧,上代码:
//需求:创建一个含有发动机子类的汽车类,跑车继承汽车后调用发动机点火方法。

class car
{
        String color="none";
        String name="car";
        class fadongji//汽车发动机
        {
                String ranliao="qinyou";
                void dianhuo()
                {
                System.out.println("嗡嗡  发动。。。");
                }                       
        }
        void move()
        {
                System.out.println("嗡嗡  开动。。。");
        }
       
}



class paoche extends car
{
        String color="none";
        String name="flory";
        public static void main(String[] args)
        {
                paoche.fadongji a=new paoche().new fadongji();//创建paoche父类car的子类fadongji对象
                a.dianhuo();
               
        }
}

作者: 赵兵锋    时间: 2012-6-9 20:12
  1. public class TT extends MM{
  2.         public static void main(String[] args){
  3.                 new TT().new DD().f();//输出:TT-DD55
  4.         }
  5.         class DD{
  6.                 public void f(){
  7.                         i=55;
  8.                         System.out.println("TT-DD"+i);
  9.                 }
  10.         }
  11. }
  12. class MM{
  13.         int i=100;
  14.         class DD{
  15.                 public void f(){
  16.                         System.out.println("MM-DD");
  17.                 }
  18.         }
  19. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2