JAVA基础多态相关知识,希望对初学者有些帮助
来源:互联网 发布:linux can总线驱动 编辑:程序博客网 时间:2024/06/06 08:59
多态:事物存在的多种体现形态。
1,多态的体现
父类的引用指向了自己的子类对象。
父类的引用也可以接收自己的子类对象。
2,多态的前提
必须是类与类之间有关系。要么继承,要么实现。
通常还有一个前提:存在覆盖。
3,多态的好处
多态的出现大大的提高程序的扩展性。
4,多态的弊端:
提高了扩展性,但是只能使用父类的引用访问父类中的成员。
5,使用多态的应用及注意事项
强制将父类的引用。转成子类类型。向下转型。
Cat c = (Cat)a;
c.catchMouse();
千万不能将父类对象转成子类类型。
我们能转换的是父类应用指向了自己的子类对象时,该应用可以被提升,也可以被强制转换。
多态自始至终都是子类对象在做着变化。
代码例子
abstract class Animal
{
abstract void eat();
}
class Cat extends Animal
{
public void eat()
{
System.out.println("吃鱼");
}
public void catchMouse()
{
System.out.println("抓老鼠");
}
}
class Dog extends Animal
{
public void eat()
{
System.out.println("吃骨头");
}
public void kanJia()
{
System.out.println("看家");
}
}
//-----------------------------------------
class DuoTaiDemo
{
public static void main(String[] args)
{
Cat c1 = new Cat();
function(c1);
function(new Dog());
//Animal c = new Cat();
//c.eat();
function(new Cat());
function(new Dog());
}
public static void function(Animal a)
a.eat();
//a.catchMouse();
}
}
本文是看了毕向东老师的视频做的一些总结,大家有兴趣的可以去网上找一下相关视频
- JAVA基础多态相关知识,希望对初学者有些帮助
- Servlet总结,希望对初学者有所帮助
- JAVA初学者之旅(希望对JAVA初学者学习有帮助)
- 分享下一步步学习java的内容,希望对初学者有帮助,1.java的认识
- 浅谈单片机调试方法(希望对初学者有帮助)
- FlexViewer学习资料,希望对初学者有帮助(转)
- FlexViewer学习资料,希望对初学者有帮助
- FlexViewer学习资料,希望对初学者有帮助
- FlexViewer学习资料,希望对初学者有帮助(转)
- Java正则表达式:我最期望弄懂的知识,希望对大家都有帮助
- 关于ASP的(VBScript)类,只希望给初学者看一看,希望对你们有帮助
- 分享给大家一个比较正规的java坦克大战教学视频,希望对那些想学Java的人有些帮助
- 解决JSP路径问题的方法。。。希望对部分朋友有些帮助。。
- 这个网站有些D3D的内容,对初学者很有一些帮助。。。
- 大家晚上好,小弟刚刚接触java。有些问题不是很理解,希望大家给予帮助。
- 从今天开始我要陆续把工作中学到的知识发布到我的博客上,希望能对别人有些帮助,也用于记录我在工作中的点点滴滴。
- 简单的整理了一下分页,希望对初学者有帮助
- 这是我的自学经历,希望对初学者有帮助。
- std::vector
- poj Sorting It All Out 托普排序
- Miktex + WinEdit 实现LaTeX写论文
- ubuntu快捷键记录(持续更新)
- ASP用md5加密方法
- JAVA基础多态相关知识,希望对初学者有些帮助
- LeetCode Longest Palindromic Substring 最长回文子串
- 需求评审会经验总结
- (HDUStep 1.2.5)The Seven Percent Solution(字符串的替换)
- jdbc操作blob,clob
- xamarin c#开发ios/android 应用
- 70、Climbing Stairs
- Golang语言的学习资料
- 进程之间如何通信