Java day10

----------------------------
复习
1.权限修饰符
2.封装
3.Static 可修饰:成员变量/成员方法/代码块/内部类
4.final 
    局部变量/成员变量
        基本数据类型:值不可变
        引用数据类型:地址值不可变,内容可以修改
    成员方法:不可被重写
    类:不可被继承
--------------------------------
接口
    1.是引用数据类型
    2.包含静态常量、抽象方法(所有版本)/静态方法、默认方法(1.8版本)/私有方法(1.9版本)
    静态常量:名字大写 默认添加public static final
    抽象方法:最简化 返回值类型+方法名;
    静态方法:属于接口   使用接口名.方法名调用
    默认方法:通常用来做接口功能的扩展,可以选择性的在实现类中重写(覆盖/实现)
    私有方法:
        普通私有方法:
            为了给默认方法中的公共代码提取,实现代码的复用
        静态私有方法:
            给静态方法中公共代码提取
    3.接口的使用步骤
        a.接口不能new对象,需要一个实现类实现接口
        b.实现类中必须重写接口中所有的抽象方法
        c.通过实现类调用方法

    4.接口和类的关系:
        类 和 类(单继承): 1 v 1  extends 继承
        接口 和 类: 没有此关系
        类 和 接口(多实现): 1 v n implements 实现
        接口 和 接口(多继承): 1 v n  extends 继承

    5.接口作为返回值类型和方法参数
        a.接口作为返回值类型
            可以返回所有的实现类对象,所以具体返回的都是接口的实现类对象
        b.接口作为方法参数
            可以传所有的实现类对象,所以具体使用的都是接口的实现类对象


-------------------------------------
多态
    指同一行为,具有多个不同的表现形式

1.多态的形式
    a.接口的多态
        InterfaceA a = new InterfaceB();  --> 向上造型
    b.类的多态
        Object o = new MyInterfaceAimpl();

    class MyInterfaceAimpl extends Object implements InterfaceA

2.向上造型:  父类型引用 指向 子类型对象
        接口类型 a = new 接口实现类对象()
        父类型 a = new 子类型()

        编译时状态(编译器) = 运行时状态(JVM)
        编译时状态:
            决定了对象能调用那些属性和方法
        运行时状态:
            决定了对象最终能调用那些方法(重写)
3.向下转型(强制类型转换)
    a.有可能出现的问题:
        不知道 引用 到底是什么类型
        ClassCastException - 类型转化异常
    b.解决办法:
        转换之前先判断 引用 实际上是不是要转换的类型对象

        引用(a)   instanceof   子类型(Cat)

4.作用:类型统一,规范代码,代码的复用性


5.多态出现的前提:
    继承: 必须存在父子类关系
    向上造型:在多态中需要将子类型的引用赋值给父类型对象
    重写:必须 子类重写父类中的方法


xx.java -> 编译(编译器) -> xx.class -> 类加载 -> JVM运行

    类加载:

JVM内存:
    方法区: 类相关信息, 类名, 类变量,类方法
    方法栈: 局部变量,临时变量
    堆: 数组/对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值