java多台_java多台

本文探讨了面向对象编程中的多态性概念,包括其定义、好处与弊端。通过实例展示了如何在Java中实现多态,指出多态提高了程序的扩展性,但可能导致访问局限性。同时,提到了`instanceof`关键字用于判断对象具体类型,以调用子类特有的方法。
摘要由CSDN通过智能技术生成

多 态★★★★★(面向对象特征之一):函数本身就具备多态性,某一种事物有不同的具体的体现。

体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();父类可以调用子类中覆写过的(父类中有的方法)

多态的好处:提高了程序的扩展性。继承的父类或接口一般是类库中的东西,(如果要修改某个方法的具体实现方式)只有通过子类去覆写要改变的某一个方法,这样在通过将父类的应用指向子类的实例去调用覆写过的方法就行了!

多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)

多态的前提:

1:必须要有关系,比如继承、或者实现。

2:通常会有覆盖操作。

多态的出现思想上也做着变化:以前是创建对象并指挥对象做事情。有了多态以后,我们可以找到对象的共性类型,直接操作共性类型做事情即可,这样可以指挥一批对象做事情,即通过操作父类或接口实现。

--------------------------------------------------------------

class 毕姥爷{

void 讲课(){

System.out.println("企业管理");

}

void 钓鱼(){

System.out.println("钓鱼");

}

}

class 毕老师 extends 毕姥爷{

void 讲课(){

System.out.println("JAVA");

}

void 看电影(){

System.out.println("看电影");

}

}

class {

public static void main(String[] args) {

毕姥爷 x = new 毕老师(); //毕老师对象被提升为了毕姥爷类型。

// x.讲课();

// x.看电影();  //错误.

毕老师 y = (毕老师)x; //将毕姥爷类型强制转换成毕老师类型。

y.看电影();//在多态中,自始自终都是子类对象在做着类型的变化。

}

}

---------------------------------------------------------------

如果想用子类对象的特有方法,如何判断对象是哪个具体的子类类型呢?

可以可以通过一个关键字 instanceof ;//判断对象是否实现了指定的接口或继承了指定的类

格式: ,判断一个对象是否所属于指定的类型。

Student instanceof Person = true;//student继承了person类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值