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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pnchb 中级黑马   /  2016-5-26 23:54  /  613 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//这里写抽象类,接口都行
abstract class Person {
    public abstract void show();
}

class PersonDemo {
    public void method(Person p) {
        p.show();
    }
}

class PersonTest {
    public static void main(String[] args) {
        //如何调用PersonDemo中的method方法呢?
        PersonDemo pd = new PersonDemo ();

    }
}
这里面要怎么调用method方法呢?
为啥  pd.method(p).show();
会显示p还没定义呢

3 个回复

倒序浏览
这里面要怎么调用method方法呢?

---用包含method对象的类的实例调用

为啥  pd.method(p).show();
会显示p还没定义呢

---这个p是个形参,你需要有一个person类型的实参,不然就显示未定义

---此外,show方法是个抽象方法,你没有实现它
回复 使用道具 举报
可以这样写匿名内部类
class PersonDemo
{
    public void method()
        {
                new Person()
                {
                        public void show()
                        {
                                System.out.println("我是匿名内部类");
                        }
                }.show();
        }            
}
回复 使用道具 举报
p改成new Person()
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马