java多态的定义和应用,java多态的理解(运行时多态)
如何解决写爬虫IP受阻的问题?立即使用。
多态概述
1.多态性是继封装和继承之后面向对象的第三个特征。
2.多态现实意义理解:
现实中的事情往往表现为各种形态,比如学生,学生是一种人,那么某个特定的同学张三既是学生又是人,也就是有两种形态。
作为一种面向对象的语言,Java也可以描述一个事物的各种形式。如果学生类继承了Person类,那么学生的对象既是学生也是人。
3.多态性体现在父类引用变量可以指向子类对象。
4.前提条件:必须有父子关系。
注意:当使用多态父类引用变量调用方法时,将调用子类的被覆盖方法。
5.多态的定义和格式
定义:父类类型变量名=新子类类型();
多态中成员的特点
1.多态成员变量:编译运行时向左看。
fu f=new Zi();
system . out . println(f . num);//f是Fu中的值,只能得到父体中的值。
2.多态成员方法:向左编译,向右运行。
fu f1=new Zi();
system . out . println(f1 . show());//f1的facade类型是Fu,但实际类型是Zi,所以调用重写的方法。
instanceof关键字
函数:用于判断一个对象是否属于某种数据类型。
注意:返回类型是布尔值。
使用案例:
fu f1=new Zi();
傅f2=新子();
if(Zi的f1实例){
System.out.println(f1是Zi的类型);
}
否则{
System.out.println(f1是儿子的类型);
}多态的转型
多态转化可分为向上转化和向下转化。
向上转化:多态性本身就是向上转化的过程。
使用格式:父类类型变量名=新子类类型();
适用场景:当不需要面对子类类型时,可以通过提高扩展性或者利用父类的功能来完成相应的操作。
向下转换:已经向上转换的子类对象可以使用强制类型转换的格式,将父类引用类型转换为子类引用类型。
使用格式:子类类型变量名=(子类类型)父类型变量;
适用场景:当你想使用特定于子类的函数时。
多态案例:
示例1:
包day0524
公共类演示04 {
公共静态void main(String[] args) {
people p=new Stu();
p . eat();
//调用唯一的方法
Stu s=(Stu)p;
s.study()。
//((Stu) p)。研究();
}
}
阶级人民{
public void eat(){
system . out . println( eat );
}
}
类Stu扩展人{
@覆盖
public void eat(){
System.out.println(吃水煮肉片);
}
公共无效研究(){
System.out.println(好好学习);
}
}
班主任延伸人{
@覆盖
public void eat(){
System.out.println(吃樱桃);
}
public void teach(){
System.out.println(认真教);
}
}例2:
题的运行结果是怎样的?
包day0524
公共类演示1 {
公共静态void main(String[] args) {
A A=new A();
a . show();
B B=new B();
b . show();
}
}
A级
公共void show(){
show 2();
}
public void show2(){
system . out . println( A );
}
}
B类扩展了A{
public void show2(){
system . out . println( B );
}
}
C类扩展了B{
公共void show(){
super . show();
}
public void show2(){
system . out . println( C );
}
}以上是《Java基础:多态的理解与应用》的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。