java多态
很多都说重载是多态之一,这个我知道是错了,不过今天有个兄弟又说重写是多态之一,我就木了,求解释,重写是多态嘛??? --------------------编程问答-------------------- 多态分静态多态,动态多态静态多态 重载
动态多态 重写
本人新手 --------------------编程问答-------------------- 对Java来说有三种多态:
1、方法覆盖实现的多态,即override,重写父类的方法
2、方法重载实现的多态,即overload,即常说的方法重载,方法参数的类型数目往往不同来实现重载
3、对象引用实现的多态,比如将一个函数的参数定义为一个父类,这样后来使用的时候就可以将各个子类传进来,运行时会根据传进来的对象具体是哪种类型来决定调用哪个子类(或父类)的方法。 --------------------编程问答-------------------- 重写和重载是两个概念,注意区分。差一个字别搞混淆了。
重写是发生在继承关系中的,父类有个方法,子类继承以后重写了,这叫重写。要注意重写的几个关键特性,方法名称相同,形参列表相同,访问权限不能小于父类中声明的权限。
重载是发生在同一个类中的,方法名称相同,形参列表不同即构成重载。重载也叫做编译时的多态(由编译的时候来确定调用哪个方法) --------------------编程问答--------------------
重载 即 重写, 是子类 继承 父类 后 子类重写 父类中的方法。
多态 是 相同类 中 同名 但不一定同参 或类型的 方法 称为 多态。
我是这样认为的 欢迎拍砖。 --------------------编程问答-------------------- 重写必定是多态的一种机制, --------------------编程问答-------------------- 多态挺重要的! --------------------编程问答-------------------- 晕死,重载和重写是连个概念啊 --------------------编程问答-------------------- 知道了,谢谢!!! --------------------编程问答-------------------- 4楼是错的。
这就是多态:Parent parent = new Child();
我记得多态有以下特点:
1.必须要有继承。Child extends Parent
2.父类引用指向子类对象。Parent parent = new Child();
3.当子类重写了父类的方法时,将调用被重写的方法。
4.父类不能调用到子类易做图有的方法。
5.可以将这个父类强制转换成子类,这时又可以访问到子类中的方法了。
--------------------编程问答-------------------- 一路看下来,没有几个真正搞得清楚的…JAVA多态分为静态和动态两种:重载和重写是静态多态;父类引用实现子类对象是动态多态… --------------------编程问答-------------------- --------------------编程问答-------------------- 大概也就那么个意思了。每个人都有自己的理解。
以下是我的愚见:
多态具体表现在重写和重载
多态就是类的多种表现方式
比如同名不同参
子类重写父类 --------------------编程问答-------------------- 多台很重要。。面向对象中有一部分是面向多态,那是Java的精华了 --------------------编程问答-------------------- 回去好好看了下 觉得 概念上确实很混淆 但是实际开发上不存在问题
找下家的时候 还是应该注意。。。 --------------------编程问答--------------------
重载,是发生在同一个类中,重载是指函数名相同,但是参数或者返回值不同的方法。
重写,就是子类继承父类后,重新定义在父类中的方法,这个时候,要求方法完全相同,即方法名、参数、返回值都相同。这个也可以称作覆盖,是多态表现的一个关键点。
多态是指在根据不同的对象,所表示出的结果不相同。 --------------------编程问答-------------------- 重写为多态,重载非多态。 --------------------编程问答-------------------- override 需要继承,且方法名,参数,返回值类型必须一样,一般在子类重写父类方法;
overload 单在一个类中,需要符合重载的几个要求。
这样应该好理解一点吧 --------------------编程问答-------------------- 在java中多态的表现形式常用的有三种吧
1,重载
2,重写
3,父类引用指向子类对象 --------------------编程问答-------------------- 多态可分为:
1.编译多态:主要是体现在重载,系统在编译时就能确定调用重载函数的哪个版本。
2.运行多态:主要体现在OO设计的继承性上,子类的对象也是父类的对象,即上溯造型,所以子类对象可以作为父类对象使用,父类的对象变量可以指向子类对象。因此通过一个父类发出的方法调用可能执行的是方法在父类中的实现,也可能是某个子类中的实现,它是由运行时刻具体的对象类型决定的。 --------------------编程问答-------------------- 大哥,说的没一点对的,,,,, --------------------编程问答-------------------- +1 --------------------编程问答-------------------- 重载也称重写,它是子类继承父类后子类重写父类中的方法。
多态是指相同类中同名但不一定同参数或类型的方法。
多态你可以简单的认为是多种形态,美女有黑美人,有黄美人,当然也有白美人。
补充:Java , Java SE