A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 十甫寸 中级黑马   /  2013-7-29 21:56  /  1226 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-30 22:45 编辑

什么是多态,怎么用啊?
implement是什么指令啊?

评分

参与人数 1黑马币 +3 收起 理由
杜光 + 3 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

6 个回复

倒序浏览
java允许把一个子类对象直接赋给一个父类引用变量,无需任何类型转换,或者被称为向上转型,向上转型由系统自动完成,当把一个子类对象直接赋给父类引用变量,当运行时调用该引用变量的方法时,其方法行为总是像子类方法的行为,而不是像父类方法行为,这将出现相同类型的变量,执行同一个方法时呈现出不同的行为特征,这就是多态。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
对象的多态性
  |-- 我,在生活中,具备多种形态
    |-- 传智,我是员工
    |-- 家庭,户主
    |-- 朋友,小弟
  |-- 宠物猫
    |-- 咪咪猫
    |-- 小宠物真漂亮
    |-- 老鼠面前,舞伴
  |-- 现实生活中的多态:一个事物具备的多种形态

  |-- 面向对象中的对象的多态
    |-- 父类或者是接口的引用,指向自己的子类对象
      父类 f = new 子类();

多态的好处和弊端-- 好处:代码的复用性提高,扩展性增强,后期维护性增强,代码量也减少
-- 弊端:多态中,只能调用子父类中的公共方法,不能调换子类的特有方法

多态中的细节问题:-- 非静态成员变量的特点:-- 编译时期,参考引用型变量中,是否有这个变量-- 运行时期,参考引用型变量中的变量的值

静态成员患变量特点-- 编译时期,参考引用型变量中,是否有这个变量-- 运行时期,参考引用型变量中的变量的值

- 静态成员方法的特点-- 编译时期,参考引用型变量中,是否有这个方法-- 运行时期,参考引用型变量中的方法

- 非静态成员方法的特点-- 编译时期,参考引用型变量中,是否有这个方法- 运行时期,参考子类对象中的方法

在编译时期,JVM静态的绑定在父类的引用变量中
只要在非静态成员方法运行的时候,JVM动态的绑定到子类对象中

-- 简单的说:   除了非静态成员方法以外,编译看左边,运行看左边   只有在非静态方法中,编译看左边,运行看右边

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
对态性是指一个程序中同名、不同方法共存的情况。多态性语言具有灵活、抽象、行为共享和代码共享等很多优势 。
方法重写与方法重载是Java支持多态性的两个重要语言语言组织。若子类中定义的某的方法与其父类的某个方法具有相同的名称与参数,则该子类重写了父类的方法。若在同一个类中定义了多个方法具有相同的名称而具有不同的参数,则这种情况称为方法重载。
implements是实现接口的关键词
回复 使用道具 举报
建议楼主看看毕老师的视频,讲的很详细  另implements 是实现接口的关键字
回复 使用道具 举报

对象的多态性。

class Animal
{
}
class cat
{
}
class dog
{
}

Animal a = new Cat();//一个对象对应多种形态。
猫这类事物具备猫的形态,同时有具备动物的形态。这就是多态性。

简单的说:就是一个对象对应的不同的类型。
——————————————————————————————————————————————————————————————
interface Animal
{
        public abstract void eat();
}

class Dog implements Animal //implements 是实现接口的关键字.
{
        void eat()//覆盖接口抽象方法实现子类的方法,体现其拓展性,避免了单继承的局限性。
        {
                System.out.println("goutou");
        }
        void lookHome()
        {
                System.out.println("kanjia");
        }
}
class  DuoTaiDemo
{
        public static void main(String[] args)
        {
                Dog d =new Dog();
                d.eat();
        }
}
希望有所帮助{:soso_e100:}

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
陈春 中级黑马 2013-7-29 23:42:51
7#
多态------简单的说 就是一个事物在不同的环境下存在的不同形态。   implements是实现接口的关键字。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马