不允许回复为空!!不允许有 gz、up!!!!来点创意吧!!!

解决方案 »

  1.   

    这样写一下.希望能明白我的白痴问题
    class B
    { d c()//方法d,接口c
      {...}
    }1 class A extends B
    {...}与2 class A extends B implements c
    {...}
    如果B的一个方法声明为接口c,那么1中如果继承了该方法,2中如果使用了接口改写了c
    分开来说,是不是
    1中的执行顺序A.d->B.d而且只能扩展不能改变?
    2中的执行顺序B.d->A.d可以改写(如果不改写,就用方法1)
    这样说是不是正确呢?我对Java和类的概念不清,还希望大家指点.谢 
      

  2.   

    你的表达能力实在...嘻嘻!
    B的一个方法声明为接口c,什么意思?
    如果我没有理解错的话,java中的接口是一种特殊的类
    这种类只有常量和方法定义,而没有变量和实现
    因为Java是单继承的,所以如果你想让一个类有几个类的特点
    必须将其他类声明为接口.对象不能声明为接口的对象!
    而必须是声明为实现了接口方法的类的对象.
    也就是说,你不可能有d c()//方法d,接口c的写法
    而只能是d A()//方法d,类A
    因此,你其他的问题不存在!
    见下个帖子!
      

  3.   

    接上一个帖子!
    就面向对象的语言而言,个人认为,Java和C++还是存在一定差别的
    你说的继承就是一个,Java中不存在多继承
    接口就是实现类似与多继承的一种手段
    一个java的类的通常写法是
    class ClassName extends baseClass implements interface1,interface2,interface3...{
    }
    类所能继承的只能是一个类,而实现接口通常可以很多.
    另外,java中所有的方法默认均为虚方法(C++中叫虚函数,而Java中不叫函数,我只能用这个名字了)
    别的不写了,我也累了,哈哈!有事再交流,写的不对的地方,还请高手们指点!thx!