第四周

算法部分:

1、同一个包下不能有同名的类!!!

当引用的不同包下有同名类时,见: java的包Package中同名类的冲突及其理解_java同包下相同的类名-CSDN博客

2、获得字符串中第一个匹配项的下标,可使用字符串.indexOf()函数。

3、满足使用二分查找算法的条件:数组元素按顺序排列,且没有相同元素,否则可能返回的下标不一致。

二分查找总的来说有两种方法,分别是左闭右闭和左闭右开。

左闭右闭:right=nums.length-1;                          左闭右开:right=nums.length;

                 while(left<=right)                                                   while(left<right)

                right=middle-1; left=middle+1;                                right=middle;left=middle+1;

 

Java学习部分:

1、分线程的声明和方法的调用在主线程中执行;如果直接用分线程的对象.run()表示直接调用了该方法,为单线程,没有使用分线程。

不可以让已经start()的线程再次执行start(),否则报IllegalThreadStateException异常。

再重新创建一个对象即可,线程名变为Thread-1

 

2、内部匿名类,并不是直接new 抽象类或者接口,而是相当于将子类继承抽象类或者是实现接口,再创建子类对象合成一步。

参考Java中抽象类有构造方法可以直接new对象_在方法中传new的抽象实现对象-CSDN博客

 

3、当继承new Thread中的类没有重写run方法,则会调用传进去的参数的run方法,若里面重写了run方法,则会优先调用重写的run方法。

原理:如果run方法在子类中没有被重写,调用的是Thread父类的run,run调用的是target,即传进来的参数。

 

posted @ 2024-10-08 15:05  董雅洁  阅读(4)  评论(0编辑  收藏  举报