JavaSE进阶-day02思维导图,每日总结

本文详细介绍了Java中的多态性,包括其概念、特点、访问方式及优缺点,并探讨了转型和instanceof操作。接着,阐述了抽象类和抽象方法,指出抽象类不能实例化且子类必须重写所有抽象方法。接口作为更抽象的层次结构,强调了其规范定义的角色,以及类与接口之间的实现关系。此外,还提到了Java接口的新特性,如默认方法、静态方法和私有方法。
摘要由CSDN通过智能技术生成

 

1.多态

1.1 概述

概念: 所谓的多态,指的就是"多种形态",简单来说,就是"一种事物,在不同的环境下,表现出不同的状态".
特点:
    1.有继承或实现关系(多态的前提).
    2.有方法重写(多态的意义)
    3.有父类或父接口引用指向子类对象(多态的核心)

1.2 访问

访问成员变量: 编译看左边(父类),运行看左边(父类)
访问成员方法: 编译看左边(父类),运行看右边(子类)

1.3 优缺点

优点: 提高了代码的扩展性(把父类当作方法的参数,调用方法时,可以传递任意的子类).
缺点: 不能使用子类特有的功能.

1.4 转型

向上转型: 其实就是自动类型转换,一般是"父类引用指向子类对象".
向下转型: 其实就是强制类型转换.一般是"把父类引用转为子类引用"

1.5 instanceof

格式: boolean result = 对象 instanceof 类型;
运算:
    如果"对象"是该"类型"的对象,则返回true.
    如果"对象"不是该"类型"的对象,则返回false.

2.抽象

2.1 概述

概述: 抽象在Java中使用abstract表示,abstract关键字可以修饰"方法,类".
概念:
    被abstarct修饰的类,被称之为抽象类.
    被abstarct修饰的方法,被称之为抽象方法.
语法格式:
    public abstract class 类名 {}

2.2 特点

抽象类:
    1.抽象类不能实例化.
    2.抽象类的子类,必须重写抽象类中的所有抽象方法,除非子类也是抽象类.
抽象方法:
    1.抽象方法所在类必须是抽象类
    2.抽象方法可以看作是一种规则,子类必须重写

3.接口

3.1 概述

概述: 接口是一种比抽象类更加抽象的类层次的结构,定义的一种规范.
语法:
    定义接口: public interface 接口名{} 
    实现接口: public class 子类 implements 接口名{}

3.2 注意

1.实现接口的子类,必须重写接口中的所有抽象方法.除非子类也是抽象的.
2.类和接口的关系是实现关系,使用implements关键字实现.

3.3 成员

变量: 只能是静态常量.默认修饰符是 public static final
方法: 只能是抽象方法.默认修饰符是 public abstract
构造: 没有构造方法.

4.相关扩展

4.1 类和接口关系

类和类之间: 继承关系,只能单继承,不能多继承,但可以多层继承.
类和接口之间: 实现关系,可以单实现,也可以多实现,还可以在继承的同时实现接口.
接口和接口之间: 继承关系,可以单继承,也可以多继承.

4.2 接口和抽象类

内容:
    抽象类: 成员变量,成员方法,构造方法,静态常量,抽象方法
    接口: 静态常量,抽象方法.
意义:
    抽象类: 抽象类是一个类,定义的是一个类别.抽取的是子类的共有内容.
    接口: 接口不是类,抽取的是"共有的功能/规则"
场景:
    抽象类: 如果类中包含抽象方法,则该类定义为抽象类.
    接口: 如果类中只有抽象方法,则该类就可以变成接口

4.3 接口新特性

① 默认方法

格式: 
    public default void 方法名(){
        方法体
    }
作用:
    子类可以重写该方法,子类也可以不重写该方法.
注意:
    JDK8之后才能用.

② 静态方法

格式: 
    public static void 方法名(){
        方法体
    }
作用:
    可以直接通过"接口名.方法"来调用.
注意:
    JDK8之后才能用.不建议使用.

③ 私有方法

格式: 
    private void 方法名(){ 方法体    }
    private static void 方法名(){ 方法体    }
作用:
    静态私有方法是抽取"静态方法的公共部分". 非静态私有方法是抽取"默认方法的 "
注意:
    JDK9之后才能用.不建议使用.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值