- 博客(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
102
原创 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
108
原创 关于final的一些
基本数据类型变量使用final修饰后就无法改变值,该基本数据类型的值一旦在初始化后便不能发生变化。当引用数据类型使用final修饰之后,其引用无法改变。对于immutable类型的变量来说,他改变值的方式只能通过改变引用,所以使用final修饰之后他无法改变值也无法改变引用。对于immutable的变量,无法改变引用,但能改变值public class FinalWithMutability { private final StringBuilder sb = new StringBuilder("H
2020-06-12 08:40:27
120
原创 lab3 问题总结
1.在使用接口声明一个对象时,它只能使用接口中有的方法。所以在实验时有些需要用到子类独有的方法时就无法用接口调用。解决:在用到子类时,使用强制转换来将接口声明的对象转换成“真”子类对象,就可以使用子类特有的对象了。但要注意的是,接口声明的对象与强制转换的类型必须相同,否则就会出错。2.在子类继承父类时,可以用super调用父类方法来获取父类的某些属性或改变父类的属性(在可以改变的情况下)。但若有父类和子类都要有的属性,若要展示该属性的值,子类必须重写该方法,否则展示的是父类的属性值。3.在重写equal
2020-06-06 10:41:34
137
原创 问题总结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
82
原创 对于不变性的一个小疑问
对于一个immutable类型的疑问:private+immutable类型的数据通过get获取后是否能被改变// An highlighted blockpublic 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
182
原创 软构 7(1)
进程只能通过消息传递进行通讯(因为进程有自己私密的内存)而线程可通过共享内存,消息传递进行通讯(线程:轻量级)线程有自己独立的方法栈和寄存器一个进程中可以包含多个线程多线程:充分利用资源,快创建线程的方法1.使用线程类进行继承(从Thread类派生)要对所有方法进行重写(故很少使用)2.更常用的是用Runnable接口构造Thread对象(new Thread())Thread类已经继承了Runnable接口创建一个子类继承Thread类 ,但要重写所有方法(不推荐)创建一个子类继承R
2020-05-26 15:32:42
128
原创 软构 lab2
lab2既有以给出框架完成相应功能,也有根据简单需求自主设计ADT。相对于lab3来说,工程量要小很多。在完成过程中,要完成一个符合需求的ADT需要不断的改进,最困难的是从实际应用到抽象的映射关系,在确定了映射关系之后,就可以依据映射关系很清楚的完成ADT的设计。虽然困难重重,但是实验2的完成还是令人十分愉悦的。...
2020-05-22 16:10:24
101
原创 软件构造4-3
先实现最基本的stack功能push,pop等等。然后写出装饰类,在装饰类中,我们将最基本stack通过委派机制传入。具体的装饰类中,基础的push,pop等功能通过委派机制实现,也就是说可以通过stack类来实现。有了装饰类,我们就可以层层装饰,来实现我们想要的特性类。这样的统一可以时客户端更加简洁统一,也方便了使用。...
2020-04-22 16:57:50
158
原创 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
225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人