- 博客(14)
- 收藏
- 关注
原创 关于finally
PPT上的一道小题 public static boolean hhh() { try { return true; }finally { return false; } } public static void main(String []args) { System.out.println(hhh()); } 执行结果 查阅资料发现,无论try、catch里是否会return,finally块都会执行。 public static boolean hhh() {
2020-07-11 17:33:35
150
原创 list的迭代器的一道小题
看到一道题关于list迭代器的题: List<String> k = new ArrayList<>(); k.add("lab1 ends"); Irerator it = k.iterator(); System.out.println(it.hasNext()); it.next(); System.out.println(it.hasNext()); k.remove(0); System.out.println(it.hasNext()); 问控制台打印什么 结果
2020-07-02 15:51:15
181
原创 关于final的一些
基本数据类型变量使用final修饰后就无法改变值,该基本数据类型的值一旦在初始化后便不能发生变化。 当引用数据类型使用final修饰之后,其引用无法改变。对于immutable类型的变量来说,他改变值的方式只能通过改变引用,所以使用final修饰之后他无法改变值也无法改变引用。对于immutable的变量,无法改变引用,但能改变值 public class FinalWithMutability { private final StringBuilder sb = new StringBuilder("H
2020-06-12 08:40:27
179
原创 lab3 问题总结
1.在使用接口声明一个对象时,它只能使用接口中有的方法。所以在实验时有些需要用到子类独有的方法时就无法用接口调用。解决:在用到子类时,使用强制转换来将接口声明的对象转换成“真”子类对象,就可以使用子类特有的对象了。但要注意的是,接口声明的对象与强制转换的类型必须相同,否则就会出错。 2.在子类继承父类时,可以用super调用父类方法来获取父类的某些属性或改变父类的属性(在可以改变的情况下)。但若有父类和子类都要有的属性,若要展示该属性的值,子类必须重写该方法,否则展示的是父类的属性值。 3.在重写equal
2020-06-06 10:41:34
196
原创 问题总结lab4
1.在模式匹配时出现问题: 使用如下匹配最多只有一个小数点的浮点数时出现错误 Pattern age_Pattern= Pattern.compile("([1-9]?\d)(\.\d)?"); String age = matcher.group(10); 发现当使用多位如2.34646式也会匹配成功 解决方案:匹配的pattern中没有加入表示匹配的开始位置和结束位置的符号 加上问题就能解决: Pattern age_Pattern= Pattern.compile("^([1-9]?\d)(\.\d)
2020-06-06 10:40:49
128
原创 对于不变性的一个小疑问
对于一个immutable类型的疑问:private+immutable类型的数据通过get获取后是否能被改变 // An highlighted block public class test { private String a; String b; private StringBuilder c=new StringBuilder(); public test() { a="111"; b="222"; c.append("333"); } public String g
2020-06-04 12:32:06
232
原创 软构 7(1)
进程只能通过消息传递进行通讯(因为进程有自己私密的内存) 而线程可通过共享内存,消息传递进行通讯(线程:轻量级) 线程有自己独立的方法栈和寄存器 一个进程中可以包含多个线程 多线程:充分利用资源,快 创建线程的方法 1.使用线程类进行继承(从Thread类派生) 要对所有方法进行重写(故很少使用) 2.更常用的是用Runnable接口构造Thread对象(new Thread()) Thread类已经继承了Runnable接口 创建一个子类继承Thread类 ,但要重写所有方法(不推荐) 创建一个子类继承R
2020-05-26 15:32:42
187
原创 软构 lab2
lab2既有以给出框架完成相应功能,也有根据简单需求自主设计ADT。相对于lab3来说,工程量要小很多。在完成过程中,要完成一个符合需求的ADT需要不断的改进,最困难的是从实际应用到抽象的映射关系,在确定了映射关系之后,就可以依据映射关系很清楚的完成ADT的设计。虽然困难重重,但是实验2的完成还是令人十分愉悦的。 ...
2020-05-22 16:10:24
165
原创 软件构造4-3
先实现最基本的stack功能push,pop等等。 然后写出装饰类,在装饰类中,我们将最基本stack通过委派机制传入。 具体的装饰类中,基础的push,pop等功能通过委派机制实现,也就是说可以通过stack类来实现。 有了装饰类,我们就可以层层装饰,来实现我们想要的特性类。 这样的统一可以时客户端更加简洁统一,也方便了使用。 ...
2020-04-22 16:57:50
222
原创 Lab1 问题总结
Lab1 问题总结 1.使用Java给定的Arrays类中的sort对Point点进行排序 按x有小到大,x相等y由小到大的顺序来排序。 Arrays.sort(ps,new Comparator() {//ps为Point数组 double x; double y; public int compare(Object o1, Object o2) { Poi...
2020-03-17 14:33:49
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅