• 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof


    课程回顾:

    访问修饰符

    private--->default--->protected---->public

    重写:子类中

    1、访问修饰符不能比父类的更严格

    2、静态/非静态、返回值类型、方法名、形式参数类型必须相同

    递归:方法内部出现了自己调用自己

    abstract:关键字 抽象的

    1、修饰类:抽象类

    2、修饰方法:抽象方法

    final:关键字 最终的

    1、类

    不能被继承

    2、变量

    常量

    3、方法

    不能被重写

    今日内容:

    java原则之最佳匹配性原则

    在调用重载方法时,会优先选择最适合的方法

    abstract:关键字 抽象

    1、抽象类:修饰类

    如果遇到某类不能实例化,我们可以将其写成抽象类

    如果某类包含了抽象方法,我们必须将该类写成抽象类

    2、抽象方法:修饰方法

    格式:[修饰符] abstract 返回值类型 方法名([形式参数列表]);

    抽象方法只有方法的声明,没有方法的实现

    abstract不能修饰静态方法

    抽象方法也不能是private

    练习:请写一个类Person,属性若干,有抽象方法studyeat

    并且写若干子类

    创建测试类,创建若干张子类对象调用方法

    接口:是由常量和抽象方法组成的结构体

    接口中的属性:默认拥有 publicstaticfinal

    接口中的方法:默认拥有publicabstract

    interface:关键字 声明接口

    接口的创建格式:

    [修饰符] interface 接口名{

    常量

    抽象方法

    }

    接口不能实例化

    java允许多实现,允许一个类实现多个接口

    implements:关键字 实现

    主要是应用在类中进行实现接口(也就拥有了接口中的方法)

    接口可以继承(extends)多个接口,多个接口之间使用,隔开

    类可以实现(implements)多个接口,多个接口之间使用,隔开

    抽象类和接口的区别?

    抽象类:

    不能实例化

    只能单继承

    可以有普通方法、静态方法、构造方法、属性、静态属性

    可以有抽象方法

    接口:

    不能实例化

    可以多实现

    还可以多继承(接口)

    只能有常量和抽象方法

    在开发中,我们优先选择接口

    抽象类和接口能否作为数据类型使用?

    多态:多种形态

    多态的分类:

    1、静态化(编译时)多态

    重载

    2、动态化(运行时)多态

    重写

    对象转型

    1、向上转型:子类对象可以充当父类对象,自动转换的过程

    父类 对象名=new 子类([实际参数列表]);

    2、向下转型:父类对象可以充当子类对象(父类对象本来就是由子类对象充当的),强制转换的过程

    子类 对象名=(子类) 父类对象名;

    再向下转型之前,一般都使用instancof进行验证,能否转型成功

    instanceof:关键字 验证左边的对象是否为右边的类型

    格式:对象名 instanceof 类名;

    返回值类型为boolean

    常常用来向下转型前的验证

    想向下转型那么一定的先向上转型

    接口回调:声明一个接口类型的变量,通过实现类对象完成变量的实例化,

    最后使用接口变量调用接口中的方法,这一过程我们称为接口回调

    Object类中的equals方法:

    public boolean equals(Object obj)

    ==equals的区别?

    大多数都是没有区别的,都是比较的栈内存的数据

    只有String等类才是有区别

    因为String类对equals方法进行重写,比较的是字符串的内容是否相同

    包装类的equals也都重写了,比较的是内容

  • 相关阅读:
    hiberate关系映射大全
    SpringMVC+RestFul详细示例实战教程
    [转]为什么大型网站前端使用 PHP 后台逻辑用 Java?
    offsetWidthoffsetleft 等图文解释
    理解jquery的$.extend()、$.fn和$.fn.extend()
    使用jquery获取url及url参数的方法
    构建高并发高可用的电商平台架构实践
    jquery实现多条件筛选特效代码分享
    【转载】“活在当下”是什么含义呢?
    UL LI 布局 TAB 切换条
  • 原文地址:https://www.cnblogs.com/weigongcheng/p/5692499.html
Copyright © 2020-2023  润新知