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

Java多态浅谈

2009-11-18 22:26 162 查看
正文面临Java初学者,我们在教科书上常常会看到Java是多态的,可是通常的教材只停留在理论上,很少有实际操作。现时把多态个概念用代码简略描述一下子,因为本人水准有限,之所以在所难免有不足之处。
第一我们有这么几个种,计算机,个人电脑,笔记本电脑。
java 代码
一.class Computer{
2.
3. public void turnOn(){
4. }
5.}
现下有了计算机这个种,那么个人PC,笔记簿都是沿袭他。
java 代码
一.class PC extends Computer{
2. public void turnOn(){
3. System.out.println("PC has turn on");
4. }
5.}
6.
七.class NB extends Computer{
1. public void turnOn(){
2. System.out.println("NB has turn on");
3. }
4.}
我们看到,每个种都有一个 turnOn()步骤,而在父类中这个步骤是空的,子类中各自有不同的兑现,到这边或者还不太显然。如果有此外一个步骤,要接受这些类作为参数,就像这么
java 代码
一.class Test{
2. public void go(Computer computer){
3. computer.turnOn();
4. }
5.}
这个步骤接收的是基类参数,当然我们是可以把子类传接给步骤的,也应当这么做。
java 代码
一.go(new PC());
二.go(new NB());
这么他就会去调器具体子类的turnOn()步骤,之所以这两次调用的输出是不一样的.如若不要基类作为参数,我们想调用每个儿类的turnOn()步骤,那么即将些两个步骤体同样的go()而接收不同的参数的满载。
java 代码
一.public void go(PC computer){
2. computer.turnOn();
3. }
4.
五.public void go(NB computer){
1. computer.turnOn();
2. }
这么些也是准确的,但是这么会发生很多反复代码,并且也不易维护,当然这只是多态中最基本的一个一部分,Java多态机制再有很多特点,至于这些提议大家伙儿见见 java编程思维(think in java)这此书,里头讲的很详细,这边只是很简单的描述了一下子,还望个诸位好手不用见笑。
我的异常网
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: