美文网首页
面向对象三大特性之多态

面向对象三大特性之多态

作者: 逆风的妞妞 | 来源:发表于2018-08-01 20:03 被阅读0次

多态(对象的多种形态)

继承是多态实现的基础

1.引用多态

父类的引用可以指向本类的对象 Animal obj1 = new Animal();

父类的引用可以指向子类的对象 Animal obj2 = new Dog();\

子类的引用指向父类是不允许的。eg:Dog obj3 = new Animal();//错误

2.方法多态

创建本类对象时,调用的方法是本类方法;

创建子类对象时,调用的方法是子类重写的方法或者继承的方法;

多态中的引用类型转换

1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换,无风险。

2.向下类型转换(强制类型转换),是大类型到小类型,有可能溢出。

3.instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题。

eg:Dog dog2 = (Dog)animal;//强制转换

if(animal instanceof Dog){

    Dog dog2 = (Dog)animal;

}else{

}

java中抽象类

1.语法定义

抽象类前使用abstract关键字修饰,则该类为抽象类。

应用场景:

1.在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。抽象类是约束子类必须有哪些方法,并不关注子类是如何去实现。

2.从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。

作用:不关注子类实现,但必须约束子类必须有哪些特征。

语法规则:

1.abstract定义抽象类

2.abstract定义抽象类方法,只有声明,不需要实现

3.包含抽象方法的类是抽象类。

4.抽象类中可以包含普通的方法,也可以没有抽象方法

5.抽象类不能直接创建,可以定义引用变量

相关文章

  • Java基础面向对象三大特性之一多态(Polymorphism)

    文章目录 面向对象三大特性之一多态(Polymorphism) 二、向下转型,向上转型 面向对象三大特性之一多态(...

  • 深入深刻深到不能再深的理解java中的重载和重写

    面向对象的三个特性 面向对象有三个重要的特性:多态,继承,封装。 多态的表现 多态的在java中的应用体现在方法的...

  • 面向对象语言基础

    面向对象语言的特性 面向对象的语言的特性:封装、继承、多态。 面向对象语言的设计原则 面向对象的语言在进行程序设计...

  • 面向对象三大特性(一):封装

    面向对象有三大特性:封装、继承和多态。注意,是面向对象的三大特性而不是Java的三大特性,Java只是面向对象语言...

  • Class 的封装及调用-Python教学【StudyQuant

    前言:面向对象的三大特性是指:封装、继承和多态。论Class 的封装及调用 面向对象三大特性 面向对象的三大特性是...

  • 面向对象

    面向对象有3大特性:封装、继承、多态1、介绍面向对象编程 面向对象编程(Object Oriented Progr...

  • python 高级 面向对象编程(OOP)

    面向对象有3大特性:封装、继承、多态 1、介绍面向对象编程 面向对象编程(Object Oriented Pro...

  • 面向对象多态特性

    多态(概念): 多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是...

  • 安卓面试:java部分

    1. 面向对象的三大特性,如何理解其中的多态?* 三大特性:封装、继承、多态* 多态是指允许不同的子类型的对象对同...

  • 多态的C++实现

    多态的C++实现 1 多态的原理 什么是多态?多态是面向对象的特性之一,只用父类指针指向子类的对象。 1.1 多态...

网友评论

      本文标题:面向对象三大特性之多态

      本文链接:https://www.haomeiwen.com/subject/nazrvftx.html