javase_面向对象(三)多态

多态:代码执行过程中呈现的多种形式–编译 、运行时期多态的优点:1.统一参数类型(new Pet())–匿名对象2.降低耦合度(高内聚、低耦合)编译时多态—在编译时期绑定代码–体现形式–方法重载运行时多态—在运行时期绑定代码–体现形式 --方法重写、向上造型向上造型误区:package cn.tedu.duotai;public class DTDemo1 { public static void main(String[] args) { /* //养个宠物
摘要由CSDN通过智能技术生成

多态:
代码执行过程中呈现的多种形式–编译时期 、运行时期
多态的优点:
1.统一参数类型(new Pet())–匿名对象
2.降低耦合度(高内聚、低耦合)

编译时多态—在编译时期绑定代码–体现形式–方法重载
运行时多态—在运行时期绑定代码–体现形式 --方法重写、向上造型
向上造型误区:
在这里插入图片描述

package cn.tedu.duotai;

public class DTDemo1 {
    public static void main(String[] args) {
       /* //养个宠物
        Pet p;
        //养的宠物就是狗
        p=new Dog();*/
        //左边声明类是父类。右边实际创建的是子类---向上造型
        //方法的具体执行要看子类是否有重写方法,**子类独有的方法不能进行调用**
        Pet p = new Dog();
        p.sleep();//运行时期确定了对象,体现了多态



    }


}


//定义一个代表宠物的类
class Pet{
    public void eat(){
        System.out.println("在吃东西...");
    }

    public void sleep(){
        System.out.println("在睡觉...");
    }
}

//定义一个狗类
class Dog extends Pet{
    //重写eat方法
    public void eat(){
        System.out.println("在呼呼呼的吃...");
    }
    public void brak(){
        System.out.println("在汪汪汪的叫....");
    }
}

//定义一个代表猫的类
class Cat extends Pet{
    //重写eat方法
    public void eat(){
        System.out.println("在呼呼的吃");
    }
    public void 磨爪子(){
        System.out.println("在磨爪子....");
    }
}


**向上造型:**
	**可以调用那些方法看父类,方法的具体执行看子类**

> **重写原则(反证法):**
		

 1. 子类方法访问权限修饰符要么和父类方法访问权限修饰符一致,要么大于父类的方法访问权限修饰符
		class A{
			public void m(){}
		}
		class Be extends A{
			void m(){}---->报错不能进行重写,访问不了父类的方法
		}
向上造型对象调用方法具体执行看子类是否有重写的方法,在真正执行的时候并不能够调用到该方法。

**重载:方法签名相同,参数列表不同(与返回值无关)
重写:同名同参同返回,前面的权限修饰符不能比父类的更封闭,抛出的异常不能更宽泛。**

重载:与修饰符无关(public private protected default),与是否有返回值无关,可以有返回值也可以没有返回值。只要方法签名相同(方法名和参数列表是相同的就可以)

## 匿名对象:m(new Pet());一般是当做参数进行传递
		特点:只会执行一次,最好传递参数












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值