
Java
勇敢的小蜗牛
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Synchronized升级成重量级锁之后就下不来了?你错了
Synchronized升级成重量级锁之后就下不来了?你错了原创 2022-07-19 18:35:34 · 553 阅读 · 1 评论 -
Java匿名内部类访问的局部变量为什么必须要用final修饰
为什么java语法要求我们需要用final修饰呢?想了想没有什么答案,那我们就通过jd-gui反编译工具一探究竟,我们对匿名内部类的字节码文件进行反编译得到以下内容。我们可以看到匿名内部类的构造器中传入了一个参数,我们可以推理出这个参数就是底层传入的str的值,但因为反编译工具的某种疏忽将构造器的方法体写成了空,事实上真正的反编译代码应该是下面:public class Hello$1 extends Thread { private String val$str; Hello$1(St原创 2020-06-11 11:34:40 · 431 阅读 · 0 评论 -
Java中的方法引用
一、什么是方法引用在Lambda表达式中,将其划分了几块。这一行就是lambda表达式。() -> System.out.println(“使用Lambda表达式”);下面我们对lambda的格式进行一个介绍:(1)左边括号:lambda的形参列表,就好比是我们定义一个接口,里面有一个抽象方法,这个抽象方法的形参列表。(2)箭头:lambda的操作符,所以你看见这个箭头心中知道这是一个lambda表达式就可以了。(3)右边lambda体:就好比是我们实现了接口中的抽象方法。在最后一块中原创 2020-06-11 10:54:40 · 1362 阅读 · 1 评论 -
Java中接口作为方法的 参数和返回值
思想:可以返回接口,接口虽然不能被实例化,但是接口的实现类都可以向上转型为接口。所谓面向接口编程是指我们在编写代码时对数据参数的定义尽量写成接口,待真正实现的时候再用实际类型代替。好处:代码的耦合性降低,在运行时我只需修改实现类类型,就可以实现不同的功能,而不必要修改接口的代码。表面上是返回的接口,其实返回的是接口的实现类。一、接口作为方法的参数进行传递:必须传递进去一个接口的实现类对象。(跟接口一样)例://抽烟接口public interface Smoking{ void s原创 2020-06-10 21:15:10 · 8125 阅读 · 0 评论 -
Java中static代码块、代码块、main方法、构造方法的执行顺序
子类:public class TestPriority extends TestFatherPriority { public TestPriority() { System.out.println("子类构造方法"); } static { System.out.println("子类静态代码块"); } { System.out.println("子类代码块"); } public stat原创 2020-05-11 18:07:56 · 546 阅读 · 0 评论