java继承has_is-A继承?Has-A?

教程把is-A和Has-A放在一起,我还以为java支持简单的方法能把Has对象的方法导出呢。。

extents  implements

要试一下。

不知道狗和汽车为什么总是被选出来举例。

packageLanguage;/***

* 面向对象接口

*@authory*/

public interfaceIFace2Object {

String getClassKey();

Boolean AllowMutilInhert();

}

packageLanguage;/***

* 开发语言基类

*@authory*/

public abstract classProgramLanguage {public abstractString getMyType();

}

packageLanguage;/***

* C语言

*@authory*/

public class PL_C extendsProgramLanguage {

@OverridepublicString getMyType() {return "C";

}

}

packageLanguage;/***

*@authory*/

public class PL_Cpp extends ProgramLanguage implementsIFace2Object {

@OverridepublicString getMyType() {return "C++";

}

@OverridepublicString getClassKey() {return "class";

}

@OverridepublicBoolean AllowMutilInhert() {return true;

}

}

public class PL_Java extends ProgramLanguage implementsIFace2Object {

@OverridepublicString getMyType() {return "Java";

}

@OverridepublicString getClassKey() {return "class";

}

@OverridepublicBoolean AllowMutilInhert() {return false;

}

}

练练写法就行了,就不写测试代码了,没必要。

@Override不知道做什么用的,先看吧。难道是类似 c++11的override关键字?

Java的方法重写,不必在父类中声明,反而是只有final的方法不能被重写。

Super可以直接调用父类方法,而不必要知道父类名。这很有用。更改父类不必要搜索父类名,在C++中则很烦。

不过c++ 可以typedef BaseClassName BaseClass,来简化。

函数的重载没什么说的,我只好奇,子类重载父类中的函数时, 调用子类的父类函数接口,能否正常调用。C++是不行的,看你的了,java。

packageLanguage;/***

*@authory*/

public class PL_Cpp extends PL_C implementsIFace2Object {publicString getMyType(Boolean bCpp){return bCpp ? "C++" : "C";

}

@OverridepublicString getClassKey() {return "class";

}

@OverridepublicBoolean AllowMutilInhert() {return true;

}public static voidmain(String[] args){

PL_Cpp tp= newPL_Cpp();

String sType=tp.getMyType();

System.out.println("Cpp Default Type = " +sType);

}

}

输出:

run:

Cpp Default Type = C

成功构建 (总时间: 0 秒)

可以调用哦。

在C++中,对父类非虚函数的重载叫重写,JAVA似乎不这么叫。

JAVA中纯虚函数不能实现。

接口的继承也用extends

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值