首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

基础加基础就是不明白的有关问题

2011-12-30 
基础加基础就是不明白的问题interfaceA{voidff()}classBimplementsA{publicvoidff(){System.out.println(

基础加基础就是不明白的问题
interface   A   {

void   ff();
}

class   B   implements   A   {

public   void   ff()   {
System.out.println( "sss ");
}
}

class   D   {
public   static   void   main(String[]   args)   {
A   a   =   new   B();

a.ff();//此处调用的接口A   的方法,还是实现类B   的方法;
}
}



[解决办法]
肯定是B的方法

A的方法没有方法体,没有实现,何来调用之说呢

这是面向对象的基本概念 多态

看看资料吧


[解决办法]
接口引用指向子类对象
[解决办法]
同意楼上
[解决办法]
调用B的方法

[解决办法]
接口回调
[解决办法]
class Father
{
public void print(String str)
{
System.out.println( "答:我是老子 ");
}
}
public class Son extends Father {

public Son() {
super();
// TODO 自动生成构造函数存根
}

public void print(String str)
{
System.out.println(str);
System.out.println( "答:我是儿子 ");
}

public static void main(String args[])
{
Father who= new Son();
who.print( "问:我是谁? ");
}

}

输出结果:
问:我是谁?
答:我是儿子
这就是方法里的重写,只不过你的例子是重写了接口中的方法,我这个例子是重写了父类中的方法。
你例子中的A a = new B();中的a和我这个例子中的Father who= new Son();的 who叫上转型对象,是java多态的一种方式。你可以再写一个Daughter类继承father,并重写pint方法。Father who = new Daughter(); who.print();将执行女儿类中的print方法。
儿子,女儿都是父亲的,但具有不同的特征。这就是java多态的好处
[解决办法]
System.out.println( "sss ");
[解决办法]
这个就是多态 B的方法
[解决办法]
有时自己想不明白,看完书仍想不明白的问题,最好的解决方法就是实验。
[解决办法]
有时候人脑总归是人脑,实践是检验真理的最好办法,呵呵!
[解决办法]
B
[解决办法]
面向对象的多态性~
[解决办法]
调用的是B的 这是父类和子类之间的多态性表现
你就把父类看成一个细管 他可以看见子类的一小部分实现
[解决办法]
复习下基础

热点排行