A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡焱老师 中级黑马   /  2014-1-16 21:47  /  2394 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Outer
{
    void method()
     {
         Object obj=new Object();
         {
             public void show()
              {
              System.out.println("show run");
              }

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



     }













}

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

11 个回复

倒序浏览
class Outer
{
    void method()
     {
            new Object()
                 {
             public void show()
              {
              System.out.println("show run");
              }

         }.show();
      
     }
}

你试试看 我这样写编译通过了

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

回复 使用道具 举报
Object obj=new Object()
Object类是所有类的父类,该类中并没有show()函数。
那你怎么调用?
回复 使用道具 举报
孤独的天奇 发表于 2014-1-16 22:17
class Outer
{
    void method()

我看着这个怎么感觉像匿名类啊。Object里面有show()这个方法吗?可以复写?这个代码不太理解了。
换成Object o=new Object{show();};
       o.show();就不行了。
回复 使用道具 举报
Object obj=new Object()
         {
             public void show()
              {
              System.out.println("show run");
              }

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

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

上帝??
回复 使用道具 举报
xu6148152 发表于 2014-1-16 22:32
我看着这个怎么感觉像匿名类啊。Object里面有show()这个方法吗?可以复写?这个代码不太理解了。
换成Obj ...

、请问   复写  还是覆写啊
回复 使用道具 举报
孤独的天奇 发表于 2014-1-16 22:17
class Outer
{
    void method()

知其然要知其所以然嘛:lol
回复 使用道具 举报
强子 黑马帝 2014-1-17 11:08:36
10#
不复写也不覆盖,父类里面没有show方法,这个方法只是内部类new Object的一个方法而已
回复 使用道具 举报
xu6148152 发表于 2014-1-16 22:42
请教一下,意思是说通过这种格式能够给Object类添加临时的方法?

不是啊 我写的这个子类 继承了父类的方法,当然子类也可以扩展自己的方法 啊
回复 使用道具 举报
引用型所属的类中并没有show这个方法,所以会编译失败。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马