![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
又乖又怂
岁月留痕,只及肌肤。
展开
-
线程的创建
创建线程的方式可以有以下几种:继承Thread类实现Runnable接口匿名内部类的方式带返回值的线程定时器线程池的实现Spring的线程实现Lambda表达式实现继承Thread类(创建运行并中断)//Demo1本身是一个Thread,可以直接new Demo1public class Demo1 extends Thread{ public Demo1(String name) { super(name); } @Override原创 2020-06-28 22:17:47 · 198 阅读 · 0 评论 -
为什么重写对象equals()方法就尽量重写hashCode()方法
定义一个Page对象类,并重写equals方法,并实例化两个对象放入HashSet集合,看下面两段代码的输出:重写equals方法但不重写hashCode()时,输出结果为2。public class Page { private int start; private int limit; private String name; ...原创 2020-03-15 22:41:29 · 121 阅读 · 0 评论 -
Java面向对象之封装、继承、多态和抽象
这是一篇专栏学习总结。主要从特性的定义及意义两方面解读。封装什么是封装封装是对信息的隐藏和保护,类通过暴露有限的访问接口,授权外部访问内部的信息或数据。怎样实现封装通过访问权限控制,private只允许类内部访问,public提供外部访问接口封装的意义如果对类中的属性方法的访问不做限制,那任何代码都可以访问、修改类的属性,虽然看起来很灵活方便,但是同时也意味着不可控,属性可以被任何...原创 2020-03-08 23:37:57 · 170 阅读 · 0 评论