01 2021 档案

摘要:JDK提供四种元注解 作用:对现有的注解进行 解释说明的 注解 Retention: 指定所修饰的 Annotation 的生命周期:SOURCE\CLASS(默认)\RUNTIME 只有声明为RUNTIME生命周期的注解,才能通过反射获取。 Target:用于指定被修饰的 Annotation 能 阅读全文
posted @ 2021-01-31 18:11 先生胡 阅读(65) 评论(0) 推荐(0)
摘要:如果枚举类只有一个对象,则可以使用单例模式 定义枚举类 ① jdk5.0之前 自定义枚举类 ② jdk5.0之后 使用Enum关键字 // 1. public class EnumTest { public static void main(String[] args) { Season winte 阅读全文
posted @ 2021-01-31 17:18 先生胡 阅读(63) 评论(0) 推荐(0)
摘要:java.util.Date java.sql.Date SimpleDateFormat Calendar LocalDate LocalTime LocalDateTime:此类用的较多 Instant:瞬时 Calendar 是可变类,LocalDate LocalTime LocalDate 阅读全文
posted @ 2021-01-31 11:37 先生胡 阅读(62) 评论(0) 推荐(0)
摘要:线程终止 ① 因为 run 方法正常退出而自然死亡 ② 因为一个没有捕获的异常终止了 run 方法而意外死亡 线程状态 线程优先级 每一个线程有一个优先级。默认情况下, 一个线程继承它的父线程的优先级。 可以用 setPriority 方法提高或降低任何一个线程的优先级。可以将优先级设置为在 MIN 阅读全文
posted @ 2021-01-29 10:09 先生胡 阅读(82) 评论(0) 推荐(0)
摘要:String 1.String是final类,不可被继承 2.内部是value[]的数组 private final char value[]; 3.不可变字符串 String s1 = "abc"; //字面量方式,"abc"被放到了常量池中 String s2 = "abc"; //这里s1 和 阅读全文
posted @ 2021-01-24 20:48 先生胡 阅读(96) 评论(0) 推荐(0)
摘要:单例设计模式 饿汉式模式 class Person{ //1.私有化构造器 private Person(){ //dosomething } //2.类内创建 该对象,同时要求该对象是static private static Person personInstance = new Person( 阅读全文
posted @ 2021-01-24 15:52 先生胡 阅读(61) 评论(0) 推荐(0)
摘要:包装类 jdk5.0之后增加自动拆箱和自动装箱 自动装箱 int num = 3; Integer in = num; //编译可以通过 ,拆箱写法 Integer in1 = new Integer(num); //不拆箱写法 自动拆箱 Integer in1 = new Integer(3); 阅读全文
posted @ 2021-01-24 11:13 先生胡 阅读(72) 评论(0) 推荐(0)
摘要:==和equals ==: 若是基本数据类型比较,则只比较两个数值是否相等 若 == 比较引用型类型 则比较的是地址 int i = 3; int j = 3; double d = 3.0; char c = 3; System.out.println(i == j); //true System 阅读全文
posted @ 2021-01-24 10:35 先生胡 阅读(60) 评论(0) 推荐(0)
摘要:多态 多态的使用:虚拟方法调用 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。 总结:编译,看左边;运行,看右边。 多态性的使用前提:类的继承关系,方法的重写 //多态举例 class Person{ int age = 3; publ 阅读全文
posted @ 2021-01-24 10:10 先生胡 阅读(40) 评论(0) 推荐(0)
摘要:this 理解为当前对象。 //测试 public static void main(String[] args){ Person person = new Person(3, "xiaoMing"); } //创建一个类: class Person{ int age; String name; p 阅读全文
posted @ 2021-01-24 09:14 先生胡 阅读(78) 评论(0) 推荐(0)
摘要:方法重载(overload) 一个类中可以含有多个重名的方法。 两同一不同 ①同一个类 ②同一个方法名 ③不同参数列表:参数个数不同,参数类型不同 方法重写(override) ①子类重写的方法的修饰符大于等于 父类的权限修饰符 ②子类不能重写父类中private的修饰符 ③父类的被重写的方法的返回 阅读全文
posted @ 2021-01-23 16:35 先生胡 阅读(226) 评论(0) 推荐(0)
摘要:集合中的关系 常用类 详细图:黄色的代表接口,绿色的是抽象类,蓝色的具体类 /** collection接口:单列集合,用来存储一个一个的对象 List接口:存储有序的、可重复的数据。“动态”数组,替换原有的数组 Arraylist:作为list接口的主要实现类;线程不安全的,效率高; 底层使用Ob 阅读全文
posted @ 2021-01-21 08:59 先生胡 阅读(50) 评论(0) 推荐(0)
摘要:hashMap例子 public static void test(){ HashMap<String, Integer> map = new HashMap<>(); map.put("name",14); map.put("pwd",123); map.put("age",24); Set<Ma 阅读全文
posted @ 2021-01-17 09:27 先生胡 阅读(54) 评论(0) 推荐(0)
摘要:编译时异常又叫受检时异常,运行时异常又叫非受检时异常.开发中编译时异常可以用try-catch-finally处理将其转为运行时异常,对于运行时异常用throws比较好,抛出异常给上一级处理。 异常处理 error:Java虚拟机无法解决的异常,如stackOverflowError. except 阅读全文
posted @ 2021-01-16 17:04 先生胡 阅读(108) 评论(0) 推荐(0)
摘要:语法 assert 条件 assert 条件:表达式 如果 结果为 false, 则抛出一个 AssertionError 异常。 在第二种形式中,表达式将被传人 AssertionError 的构造器, 并转换成一个消息字符串。 例如: public static void main(String 阅读全文
posted @ 2021-01-16 10:05 先生胡 阅读(223) 评论(0) 推荐(0)
摘要:(o1,o2)->Integer.compare(o1,o2); //example 1: 不用lambda表达式 Comparator<Integer> comparator = new Comparator<Integer>() { @Override public int compare(In 阅读全文
posted @ 2021-01-13 10:41 先生胡 阅读(59) 评论(0) 推荐(0)
摘要:abstract 抽象类可以有构造器,便于子类调用 抽象类:不能实例化。例如 //按照原始的写法,定义一个类 public class Person{ String name; int age; public Person(){ //构造方法 } } //对该类实例化操作 Person person 阅读全文
posted @ 2021-01-12 10:37 先生胡 阅读(129) 评论(0) 推荐(0)
摘要:**可变类:**当你获得这个类的一个实例引用时,你可以改变这个实例的内容。 **不可变类:**当你获得这个类的一个实例引用时,你不可以改变这个实例的内容。不可变类的实例一但创建,其内在成员变量的值就不能被修改。 举个例子:String和StringBuilder,String是immutable的, 阅读全文
posted @ 2021-01-08 20:42 先生胡 阅读(200) 评论(0) 推荐(0)