怎么区分方法是继承来的还是实现的接口中的方法

a20071426 2011-06-17
   求解
太阳神喻 2011-06-17
你的代码是自动生成的?
huangyunbin 2011-06-20
求解。。。。
huangyunbin 2011-06-21
[size=medium]能不能说明一下为什么?[/size]




hunter4java 写道
这个题目不无聊的,可以得出:是实现的接口中的方法而不是抽象类。

看一个例子:

interface api
{
    void func(); // 接口中的方法默认是public abstract 方法
}

abstract class absClass
{
    abstract void func(); // 访问类型是default类型
}

class realClass1 extends absClass
{
    void func() // OK.继承抽象类的访问类型(当然还可以是public,protected)
    {

    }
}

class realClass2 extends absClass implements api
{
    void func() // 编译错误,必须是public访问类型,说明是实现的接口中的方法
    {

    }
}

xianyunxiaoyao 2011-06-30
似乎明白了点
香飘飘2011 2011-08-17
实例化都是由A类来实例,具体调用哪个方法看其赋值给谁。

B b = new A();
b.test(),则自然是调用b中的test方法

C c = new A();
c.test()。则调用的是C类中的方法。
Global site tag (gtag.js) - Google Analytics