您的位置:首页 > 编程语言 > Java开发

java中抽象类和接口的多态

2014-06-26 22:30 316 查看
1.接口和抽象函数不可以直接实例化,即不能Key pKey = new Key();只能用子类去实例化,并且具有子类和父类共同代码的功能,实现多态。

2.接口的类型转换,实例的向上转换和向下转换。例子中,getBuildKey函数返回类型是父接口,之后强制转换成子接口类型,那样就可以用子接口的声明调用不同的实现,且子接口相比父接口可以有更多的功能。

3将不同的实现都用父接口保存,在使用的时候可以方便的用类型转换的方法转换到相应的接口上去,使用起来比较方便。

class TestDuoTai
{
public static void main(String[] args)
{
ECC pKey;
pKey = (ECC)getBuildKey();
pKey.fun1();
pKey.fun2();
}
public static Key getBuildKey()
{
return new SM3();
}
}
interface Key
{
void fun1();
void fun2();
}
interface ECC extends Key
{
void fun1();
void fun2();
}

class  RSA implements ECC
{
public void fun1()
{
System.out.println("fun1.RSA");
}

public void fun2()
{
System.out.println("fun2.RSA");
}
}

class  SM2 extends RSA
{
public void fun1()
{
System.out.println("fun1.SM2");
}
public void fun2()
{
System.out.println("fun2.SM2");
}
}
class  SM3 extends SM2
{
public void fun1()
{
System.out.println("fun1.SM3");
}
public void fun2()
{
System.out.println("fun2.SM3");
}
}


}

运行结果:fun1.SM3

fun2.SM3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐