`
huangfeiNetJava
  • 浏览: 40819 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

多态详解

 
阅读更多

   

多态之类的继承:

 

      首先,从一个问题入手:为什么需要继承?假如你已经去创建一个类A,但当你需要再创建一个类B,并且类B要有类A的所有或者大部分的属性和方法,没有弄明白类的继承之前,你就只能自己再敲一遍类A的代码了(更快一点的就是不敲,直接复制粘贴)。你敲着敲着,可能一股无名业火涌上心头,烦躁难当。这时候,就是“类的继承”发挥作用的时候了。前面类A我们成为"父类",类B我们称为“子类”,通过继承,子类就能名正言顺地使用父类的所有属性和方法。(以上只是针对“public ”型的属性和方法 ,注意“访问修饰符”和“是否同包”对子类的限制作用)

      现在,知道为什么需要继承了吧:

      1.减少开发的时间,降低代码的冗余。
      2.继承是用来完善面向对象的编程思想。

 

让我们感谢java鼻祖吧!因为他们一直都在为我们考虑!!

 

继承的语法格式
 访问修饰符   class  子类名  extends 父类名{
  
 }

 

多态之方法的重载:

 

      首先要明白,方法的重载是对一个类来说的。在一个类里面,允许出现多个方法名相同的方法,但前提是这些方法的参数列表都必须互不相同。

      参数列表的不同有以下几个方面:

      1.参数的个数不同

      2.参数的个数相同,参数的类型不同

      3.参数的个数相同,参数的顺序不同

如:原方法--->public void  Way(float x,int y){}

       重载1--->public void  Way(int x,int y,int m,int n){}

       重载2--->public void  Way(int  x,int y){}

       重载3--->public vod  Way(int x,float y){}

 

     那调用方法时,怎么知道用的是哪个方法呢?没错,就是根据你说传人的参数(即参数列表的属性),编译器能够根据你传入的参数判断调用哪个方法。

 

 

多态之方法的重写:

 

     方法的重写是对类的继承而言的。子类中可以创建一个方法,这个方法的访问修饰符、返回值、方法名、参数列表都与父类的方法不同,唯一不同的是子类的这个方法的方法体与父类的不同。当用子类的对象调用方法时,首先调用的是子类重写的方法,父类的对应的方法会被屏蔽。实现方法重写,在调用的过程中,会优先调用子类的方法,如果子类没有该方法,则调用父类的方法。

      实现重写,子类中定义的方法,必须在父类中存在,如果父类中不存在该方法,那么就是
 子类自己定义的一个新的方法。 子类要实现重写,那么方法的返回值类型,方法名,参数个数以及参数类型都必须和父类的完全 相同,子类的唯一能修改的地方是访问修饰符,但是,子类的访问修饰符只能比父类的大,不能比父类的小。
     大--->小
     public --> protected -->  private

 

 

多态之自动转型:

 

     要实现自动转型必须存在继承的关系。
     自动转型只能用于子类和父类之间的。

 

     自动转型常用格式:父类名    对象名   =  new  子类构造方法();  (向上转型)

 

     自动转型后对象就不能够调用子类独特的方法与属性,这看来似乎不好,但是这也是个优点,可以更好地体现java的编程思想,让对象对方法的和属性的使用更加的规范化。

1
4
分享到:
评论

相关推荐

    java基础-java多态详解

    Java 多态详解 Java 多态是 Java 编程语言中的一种基本概念,它允许开发者定义一个接口,并且可以通过不同的类来实现该接口。多态性是 Java 面向对象编程的核心机制之一,它使得程序更加灵活、可维护和可扩展。 ...

    C#多态详解课件一看就懂

    ### C#多态详解 #### 一、多态的基本概念 多态是面向对象编程语言中的一个重要特性,它使得程序能够更加灵活地处理各种不同类型的对象。简单来说,多态是指“同一操作作用于不同的对象,可以有不同的解释,产生...

    多态详解= 多态的优缺点在不同的编程场景中不同的适用性

    ### 多态详解:多态的优缺点及在不同编程场景中的适用性 #### 多态的概念 多态(Polymorphism)是面向对象编程(OOP)中的一个核心概念,指的是同一种类型的对象在不同的情况下能够表现出不同的行为。简单来说,...

    Java继承和多态详解及其综合应用

    内容概要:本文详细介绍了Java中的继承和多态两大核心概念。首先从基础知识入手,解释了继承的定义、关键字extends和super的使用、父类与子类的关系等。接着讨论了多态的定义、方法重载和重写的区别、向上转型与向下...

    .net中封装、继承和多态详解

    封装、继承和多态是面向对象编程的三大基石,它们在C#中扮演着至关重要的角色。 封装是对象和类概念的基础,它允许我们将数据和操作数据的方法捆绑在一起,形成一个独立的实体,即类。在C#中,我们通过类来实现封装...

    Python 的类、继承和多态详解

    类的定义 假如要定义一个类 Point,表示二维的坐标点: # point.py class Point: def __init__(self, x=0, y=0): self.x, self.y = x, y 最最基本的就是 __init__ 方法,相当于 C++ / Java 的构造函数。...

    C#基础继承和多态详解

    C#基础继承和多态详解 在C#编程语言中,继承和多态是两个非常重要的概念,它们是面向对象编程(Object-Oriented Programming,OOP)中的基础内容。了解继承和多态的机理和应用,可以帮助开发者更好地设计和实现软件...

    java 多态 经典讲解

    ### Java多态经典讲解 #### 一、理解Java多态 多态,作为面向对象编程的三大特性之一,是继抽象和继承之后的关键概念。它允许我们以统一的接口处理不同类型的对象,增强了代码的灵活性和可扩展性。在Java中,多态...

    Java多态的讲解

    Java多态的讲解

    java多态小结

    ### Java多态详解 #### 什么是多态? 多态(Polymorphism)是面向对象编程的一个核心特性,指的是一个接口可以被多个类所实现或一个类可以被多个类所继承,进而表现出不同的行为。在Java中,多态主要体现在两个...

    从汇编看c++中的多态详解

    多态性分为静态多态(Static Polymorphism)和动态多态(Dynamic Polymorphism)。静态多态通常通过函数重载和运算符重载实现,而动态多态主要依赖于虚函数(Virtual Functions)和抽象类(Abstract Classes)。本文...

    JAVA多态图文详解ppt

    JAVA多态图文详解ppt,详细通过各种举例介绍JAVA多态的ppt

    Python面向对象编程之继承与多态详解

    继承和多态是OOP中的两个重要概念,它们极大地增强了代码的复用性和灵活性。 **继承**是OOP中的一个关键概念,它允许一个类(子类)从另一个类(父类或基类)中继承属性和方法。在Python中,通过在子类定义时指定...

    继承和多态.doc

    ### 继承与多态详解 #### 一、继承的概念及使用原则 **继承**是面向对象编程中的一项核心特性,它允许一个类(派生类或子类)继承另一个类(基类或父类)的属性和方法。通过继承,可以实现代码的重用,提高软件...

    Python面向对象之接口、抽象类与多态详解

    在探讨Python面向对象编程的过程中,接口、抽象类和多态是三个核心概念。理解这三个概念能够帮助我们在设计和实现软件时保持良好的可扩展性和复用性。 首先,接口在某些编程语言(比如Java)中是定义一个类必须实现...

    C++/java 继承类的多态详解及实例代码

    C++和Java都是支持多态的语言,但它们在实现多态的方式上有所不同。本文将深入探讨这两种语言中的继承类多态,并通过实例代码进行解析。 在C++中,多态性主要依赖于虚函数。在上面的示例中,`Animal` 类没有声明...

Global site tag (gtag.js) - Google Analytics