黑马程序员技术交流社区

标题: 子类特有方法??? [打印本页]

作者: 胡焱老师    时间: 2014-1-16 21:47
标题: 子类特有方法???
class Outer
{
    void method()
     {
         Object obj=new Object();
         {
             public void show()
              {
              System.out.println("show run");
              }

         };
      obj.show;//编译失败,因为不能使用子类的特有方法,   怎了理解这个??



     }













}

作者: 孤独的天奇    时间: 2014-1-16 22:17
class Outer
{
    void method()
     {
            new Object()
                 {
             public void show()
              {
              System.out.println("show run");
              }

         }.show();
      
     }
}

你试试看 我这样写编译通过了
作者: xu6148152    时间: 2014-1-16 22:24
Object obj=new Object()
Object类是所有类的父类,该类中并没有show()函数。
那你怎么调用?
作者: xu6148152    时间: 2014-1-16 22:32
孤独的天奇 发表于 2014-1-16 22:17
class Outer
{
    void method()

我看着这个怎么感觉像匿名类啊。Object里面有show()这个方法吗?可以复写?这个代码不太理解了。
换成Object o=new Object{show();};
       o.show();就不行了。
作者: 贺利英    时间: 2014-1-16 22:36
Object obj=new Object()
         {
             public void show()
              {
              System.out.println("show run");
              }

         };
这是一个匿名内部类,并且当你Object obj=new Object(){};给此匿名内部类起名字的时候,此为多态,即将父类引用指向了子类对象,所以 在进行此句obj.show;的时候需看看父类Object中是否有此方法,若没有,则编译会失败。由于父类Object中并未有此方法show ,此类是子类的特有方法,所以编译失败。
作者: xu6148152    时间: 2014-1-16 22:42
孤独的天奇 发表于 2014-1-16 22:17
class Outer
{
    void method()

请教一下,意思是说通过这种格式能够给Object类添加临时的方法?
作者: 胡焱老师    时间: 2014-1-16 22:50
xu6148152 发表于 2014-1-16 22:24
Object obj=new Object()
Object类是所有类的父类,该类中并没有show()函数。
那你怎么调用? ...

上帝??
作者: 胡焱老师    时间: 2014-1-16 22:52
xu6148152 发表于 2014-1-16 22:32
我看着这个怎么感觉像匿名类啊。Object里面有show()这个方法吗?可以复写?这个代码不太理解了。
换成Obj ...

、请问   复写  还是覆写啊
作者: 胡焱老师    时间: 2014-1-17 10:48
孤独的天奇 发表于 2014-1-16 22:17
class Outer
{
    void method()

知其然要知其所以然嘛:lol
作者: 强子    时间: 2014-1-17 11:08
不复写也不覆盖,父类里面没有show方法,这个方法只是内部类new Object的一个方法而已
作者: 孤独的天奇    时间: 2014-1-17 11:18
xu6148152 发表于 2014-1-16 22:42
请教一下,意思是说通过这种格式能够给Object类添加临时的方法?

不是啊 我写的这个子类 继承了父类的方法,当然子类也可以扩展自己的方法 啊
作者: 唐志海    时间: 2014-1-18 00:37
引用型所属的类中并没有show这个方法,所以会编译失败。




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