Java多态详解
Java多态详解
一、多态简介1、简介简单地讲:假如人类是学生的父类,小明是一名学生,那么可以说小明既是学生也是人类,一个对象的多种形态,就是多态;一个对象既是其本类,也是其父类。2、格式父类 父类对象 = new 子类();//这本身是一种向上转型、概述父类对象调用的属性是父类的属性,属性是无法重写的;父类对象调用的方法如果没有被子类重写则调用的是父类的方法;父类对象调用的方法如果被子类重写则
Java多态详解
1、简介
简单地讲:假如人类是学生的父类,小明是一名学生,那么可以说小明既是学生也是人类,一个对象的多种形态,就是多态;
一个对象既是其本类,也是其父类。
2、格式
父类 父类对象 = new 子类();//这本身是一种向上转型
、概述
父类对象调用的属性是父类的属性,属性是无法重写的;
父类对象调用的方法如果没有被子类重写则调用的是父类的方法;
父类对象调用的方法如果被子类重写则调用的是子类的重写后的方法;
父类对象无法调用子类特有的方法;
父类对象可以向下转型为相对应的子类对象,转型后可以的子类对象可以调用子类特有的方法;
可以用“父类对象 instanceof 子类名”得到的布尔值验证是否可以向下转型;
父类
代码语言:javascript代码运行次数:0运行复制public class Fu {
int a = 10;
public void showA(){
println(a);
}
}
子类
代码语言:javascript代码运行次数:0运行复制public class Zi extends Fu {
int a = 5;
@Override
public void showA(){
println(a);
}
public void showB(){
println("B");
}
}
Test测试类
代码语言:javascript代码运行次数:0运行复制public class Test {
public static void main(String[] args) {
Fu fu = new Zi();
println(fu.a);//10,成员变量无法复写,谁调用,则调用谁的
Zi zi = new Zi();
println(zi.a);//5,成员变量无法复写,谁调用,则调用谁的
//当showA仅在子类中写
// fu.showA();//错误写法,父类不可调用子类的方法
//当showA同时写在父类和子类中
fu.showA();//5此时showA方法被重写,无论是子类还是父类调用的都是子类的方法
// fu.showB();//错误写法,父类无法调用子类特有的方法
//可以看出父类只能调用跟自己有关系的方法
Zi zi1 = (Zi)fu;
zi1.showA();//5
zi1.showB();//B
println(zi1.a);//5
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除变量测试对象javapublic #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-23 19:35:08
下一篇:【Java设计模式】010
推荐阅读
留言与评论(共有 10 条评论) |
本站网友 转向 | 30分钟前 发表 |
原始发表:2025-01-06 | |
本站网友 21世纪现代城 | 7分钟前 发表 |
使用父类代码语言:javascript代码运行次数:0运行复制public class Fu { int a = 10; public void showA(){ println(a); } }子类代码语言:javascript代码运行次数:0运行复制public class Zi extends Fu { int a = 5; @Override public void showA(){ println(a); } public void showB(){ println("B"); } }Test测试类代码语言:javascript代码运行次数:0运行复制public class Test { public static void main(String[] args) { Fu fu = new Zi(); println(fu.a);//10 | |
本站网友 有偿调查 | 11分钟前 发表 |
格式父类 父类对象 = new 子类();//这本身是一种向上转型 | |
本站网友 王小平 | 23分钟前 发表 |
分享自作者个人站点/博客 | |
本站网友 锦绣半山御景 | 15分钟前 发表 |
Java多态详解 一 | |
本站网友 破绽百出 | 11分钟前 发表 |
原始发表:2025-01-06 | |
本站网友 龙庆峡团购 | 16分钟前 发表 |
那么可以说小明既是学生也是人类 | |
本站网友 上游 | 28分钟前 发表 |
无论是子类还是父类调用的都是子类的方法 // fu.showB();//错误写法 | |
本站网友 来的都是客 | 7分钟前 发表 |
简介简单地讲:假如人类是学生的父类 |