
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
下载插件(@babel/plugin-proposal-optional-chaining)。需在项目里的babel.config.js添加如下代码来拓展解析器。重启项目npm run dev,运行配置。

所以可以定义抽象方法,就是两者第一个相同点。抽象类更进一步的抽象后,就诞生了接口,接口比抽象类更纯粹,因为他没有了成员属性,只有方法。子类实现接口后,唯一能做的就是重写方法。不像抽象类,子类继承抽象类之后,连带着将父类的成员属性也继承过来了。这里就是两者的又一差异点:抽象类可以定义成员属性,而接口不能定义成员属性,只能定义静态属性,而且只能用final关键字定义静态常量,不能定义静态变量。接口除了

Exception 中除了运行时异常之外的,都属于其他异常。编译器要求Java程序必须捕获或声明所有的编译时异常,强制要求程序为可能出现的异常做准备工作。○顾名思义,运行时才可能抛出的异常,编译器不会处理此类异常。出现了运行时异常,一般是程序的逻辑有问题,是程序自身的问题而非外部因素。●Java 的异常都是派生于 Throwable 类的一个实例,所有的异常都是由 Throwable 继承而来的。

解释它们的基本定义和特点。●。

同一接口,不同实现;同一方法调用,在运行时表现出不同的行为。也就是父类引用指向子类的对象,通过这个引用调用的方法,会根据实际对象类型来决定运行时执行哪一版本。目的是提高程序的灵活性和可扩展性,降低代码耦合度,因为调用方只关心接口,不关心具体实现。Java 多态 = 父类引用 + 子类对象 + 动态绑定。

封装是将对象的属性和行为方法结合在一起,并隐藏内部的实现细节,只暴露出一个可以被外界访问的接口。

第一次的集合如果小于10,比如3个元素,就会扩容成10,如果大于10,比如元素是11个,则会扩容成11,而不是15(一次扩容能解决的,就不扩容多次,从0跳到11,而不是从0跳到10再跳到15)。第一次扩容是从0到10,第二次扩容是上一次容量的1.5倍(10~15),第三次是15右移一位,等于除以2,得到7,再和原容量相加15+7=22,15到22就是第三次的范围。也就是原来一个集合里有10个元素,

fail-fast:一旦发现遍历的同时其他人来修改,应该立刻抛出异常,不允许这种情况发生。fail-safe:如果发现遍历的同时又其他人来修改了,应该能有应对策略,例如牺牲一致性来让整个遍历继续运行完成,不让这个遍历报错。ArrayList是fail-fast的典型代表,遍历的同时不能修改,尽快失败。CopyOnWriteArrayList是fail-safe的典型代表,遍历的同时可以修改,原理是

之前推送的代码和笔记都存放在国内的Gitee中,作为小白第一次使用GitHub,然而遇到了一些问题。如果用国内Gitee的方式命令如下Gitee上创建仓库本地初始化git init拉取代码添加远程仓库地址git remote add origin <地址>设置当前分支为 master添加全部文件并提交git add .推送到 Gitee 的 master 分支也就是这表示 Git 无法通过 HTT

如果我们的请求方法是POST,比如我们要进行登录,需要携带UserName和PassWord去登录,就会被携带到请求数据中。如果我们的请求方法是POST,比如我们要进行登录,需要携带UserName和PassWord去登录,就会被携带到请求数据中。是响应头和响应体的分隔符,前面是响应的信息,后面就是响应的数据了。是响应头和响应体的分隔符,前面是响应的信息,后面就是响应的数据了。是请求头和请求体的分








