- 博客(8)
- 收藏
- 关注
原创 抽象类和接口被使用的意义
接口使用的意义 一、统一实现 将一种功能定义在接口中,只提供方法名和必要的参数,当其他类需要使用这个功能时,只需实现有这个功能的接口,即将具体的业务逻辑代码实现即可,从而达到代码的复用性。接口可以看做成一种规范,它不提供具体实现,只是声明有某种功能。 二、实现多实现或者时多继承 java中是不能多继承,但可以通过接口,达到多实现,即一个类可以有多种功能,这是extends继承无法做到的,因为我们不可能将所有的功能都写在一个类里面,这样会使代码十分臃肿冗长,而且后期维护也难进行。 抽象类使用的意义 一、相似具
2021-11-27 20:43:43 320
原创 throw和throws的区别
throws 位置在方法体上,即花括号后面, 数量上,该单词加了s,表示可以抛出多个异常给调用此方法的对象 throw 位置置于catch代码块中, @Test public void t8() { try { String a = null; a.length(); } catch (NullPointerException e) { throw e; }
2021-11-24 21:04:35 150
原创 关于IDEA创建Maven的一些问题
当没有本机没有下载maven时,只用IDEA创建了一个maven项目,创建时间会很久,将近15分钟 如图: 这是因为本机没有maven,idea会自动从网上下载maven组件,而当下载完maven组件时,在maven项目中,pom.xml文件需要下载相应的必要的依赖,而这些依赖,是从 箭头指向的网址中下载来的,即中央仓库(由maven团队维护),当idea发现电脑没有本地仓库时,就找远程仓库,最后是中央仓库,而这个网站是国外的,下载会很慢。 而且,在每一次创建新的maven项目时(在没有下载mave..
2021-10-12 21:33:54 281
原创 关于浅克隆和深克隆
关于浅克隆和深克隆 本质上都是浅克隆 D d = new D(); D clone = (D)d.clone(); 浅克隆 满足的条件: 1,克隆的对象的类实现cloneable接口 2,重写clone()方法 解释: 对象调用clone()方法会将自身的所有非引用对象的内容复制过来并返回一个对象,且属性值与原来的一样,内存地址不同 深克隆 满足的条件: 1,克隆的对象的类实现cloneable接口 2,重写clone()方法 3,引用本身需要实现c
2021-08-22 20:35:34 99
原创 2021-08-10
关于EOFExcetion的理解 End Of File Excetion:文件末尾异常 先来看一下EOFExcetion的api注释: 当输入过程中意外到达文件或流的末尾时,抛出此异常。 此异常主要被数据输入流用来表明到达流的末尾。注意,其他许多输入操作返回一个特殊值表示到达流的末尾,而不是抛出异常。 当读取文件到末尾时,就会抛出这个信息,当然,我们应该不必将这个类当作代码逻辑错误的标识,它只是一个提示,提示我们在读取文件时,已经到达了末尾 ...
2021-08-10 17:16:45 47
原创 关于HashMap指定值进行排序
关于HashMap指定值进行排序* 我们知道jdk中的API中有个Collections类中有个方法,叫做sort() 排序方法,但是,这个方法需要两个参数,分别是一个列表参数 和一个比较器,而比较器中的T泛型很明显指的是List的元素中的 某一个属性,通过比较器中的compare方法,将我们需要 比较的属性进行比较。 但是,HashMap是一个哈希表,是一种表, 但我们的sort方法需要的是一个列表, 那重点就是该如何将哈希表作为一种泛型,作为列表的一个限定条件, 哈希表中以键值对的方式存储信息,我们可以
2021-08-09 17:58:38 624
原创 接口的认识
接口 在jdk1.8之前,接口是100%的只能有抽象方法,不能有普通方法 但在jdk1.8开始,优化接口的同时,避免跟现有实现架构的兼容问题。接口不再只有抽象方法,可以有普通方法。 凡是被default修饰的方法,都是普通方法,类实现该接口后,将继承这些普通方法 注意: 1,当接口有普通方法(被default修饰后)后,类对其实现,就如同要实现接口所有抽象方法一样,将会继承该接口的所有的普通方法,该类的所有对象都可以调用 2,当一个类实现多个重名方法的接口时,需要重写所有的重名方法
2021-07-30 17:47:18 193
原创 Stack 栈认识
Stack 栈 ***关于pop方法使用for循环输出少的原因*** 元素进出规则:FILO,先进后出 继承Vector,扩充五个方法,分别是PUSH压入元素,POP弹出栈顶元素,PEEK查看堆栈顶部的对象,但不从堆栈中移除它。EMPTY测试堆栈是否为空,SEARCH返回对象在堆栈中的位置,以 1 为基数。 注意: POP每次执行一次,栈的大小减小1,如果使用for循环,当执行次数和栈的大小一致时,就不能继续弹出栈顶元素,如下所示 public class ss { publi
2021-07-28 20:58:47 67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人