
Java
仲永要加油呀
绕了一个很大的圈,希望终能抵达终点。
展开
-
多个Scanner对象各自调用close方法时,所引发的NoSuchElementException异常问题
闲话少说,先上代码。import java.util.Scanner;public class ScannerDemo { public static void test() { Scanner testScanner=new Scanner(System.in); System.out.println("test--请输入任意字符:"); String testString=testScanner.next(); System.out.println("这是test方法中接收原创 2020-05-25 17:26:43 · 446 阅读 · 0 评论 -
关于注解@SuppressWarnings(”unchecked“)的一点猜想
注解@SuppressWarnings(”unchecked“)用于消除编译器对“未检查的类型转换(Unchecked Cast)”的警告信息。那么什么叫做“未检查的类型转换(Unchecked Cast)”呢?将一个未给定泛型类型的集合类对象(如ArrayList list1)强转为已给定泛型类型的另一个集合类对象(如List<Integer> list2)时就会触发“Unchecked Cast警告”。因为JVM在编译层面不知道泛型,比如实际上JVM会认为list2集合中的对象都是Obj原创 2020-05-18 18:39:00 · 678 阅读 · 0 评论 -
Java中的参数传递
1.当使用基本数据类型作为方法的形参时,在方法体中对形参的修改不会影响到实参的数值2.当使用引用数据类型作为方法的形参时,若在方法体中修改形参指向的数据内容,会对实参的数值产生影响,因为形参和实参共享同一块堆区3.当使用引用数据类型作为方法的形参时,若在方法体中改变了形参的指向,此时不会对实参的数值产生影响。4.当使用引用数据类型作为方法的形参时,若在方法体中该形参被赋给某局部变量X(或另...原创 2020-04-30 21:59:54 · 208 阅读 · 0 评论 -
java中一个类的各部分的加载顺序
java中的类只加载一次,所以这里只讨论类在第一次实例化时被加载时类中各成员的加载顺序情况。根据以下示例代码可以看出加载顺序是:(静态代码块、静态字段)>静态主方法>构造代码块>构造函数。至于静态代码块、静态字段谁先被加载,取决于它们的代码段的先后顺序。package com.blogs;public class RunningOrders { public Ru...原创 2019-07-20 20:29:30 · 435 阅读 · 0 评论 -
最全面java中的static关键字剖析
关于static关键字,我想它应该让不少人都很烦。因为我们可能经常遇到static关键字在这个地方能用,在那个地方又不能用的情况。而它到底在哪些地方能用、哪些地方又不能用,总感觉不是很好说清楚。今天这篇博客就是对static的用法做一个全面的梳理。首先明确一定:static关键字被创建的原因是为了“实现共享”,所以静态成员会随着类的加载而加载,而静态成员则是发生类的实例化时才会被加载。还想...原创 2019-07-20 19:48:28 · 235 阅读 · 0 评论 -
java中的集合概述
java集合大致可以分为Set、List、Queue、Map四种体系。Set表示无序、元素不可重复的集合;List表示有序、元素重复的集合;Map表示具有映射关系的集合,基于key:value的对应形式,其中key值不能重复;Queue(java5时增加)表示一种队列集合的实现,其中的元素可以出现重复的情况。综上,Set集合中元素不能重复,Map集合中的key值不能重复,...原创 2019-07-20 10:30:37 · 215 阅读 · 0 评论 -
为什么重写equals方法时一定要重写hashCode方法?
重写hashCode方法时必须要重写hashCode方法实际上是为了迁就java的源码设计。因为在通过hashCode值进行数据管理的java集合(主要是Set式和Map式的集合)中,java源码为了实现判断相等时的查找效率,它是首先判断两个对象的hashCode值是否相等,在两者hashCode值相等的情况下,才调用equals方法。也就是说如果我们重写了equals方法,使两个对象的属性相...原创 2019-07-20 11:20:52 · 1400 阅读 · 2 评论 -
java的接口
1.接口的修饰符:权限修饰符:public/default其他修饰符:abstract(默认)。在创建接口时,就算没有写上abstract修饰接口,abstract也会被默认加上。2.接口中字段的修饰符接口中的字段会被默认修饰为public static final,无论这些修饰符是否被明确写出来。注:接口中的字段必须被初始化,不能只是创建一个空引用。3.接口中...原创 2019-07-19 19:05:34 · 130 阅读 · 0 评论 -
java中的类与接口什么时候被加载?
java遵循“使用时,才加载”的原则。注意:类的加载过程只发生一次。1.对于不含静态方法的非抽象类而言,如果你只是创建了一个类的空引用,并没有执行new操作,该类是不会被加载的。也就是说,一个不含静态方法的非抽象类要被加载的话,肯定是在第一次实例化对象时,才会发生类的加载,同时生成实例化对象。但是之后再实例化对象,类的加载过程不会再发生,类的加载过程只发生一次。2.对于含静态方法的非抽...原创 2019-07-19 21:15:04 · 4134 阅读 · 6 评论 -
java中有哪几种代码块?
java中有静态代码快、构造代码块、局部代码块、同步代码块。静态代码块:处于类中成员位置,由static关键字修饰的代码块。当所在类被加载时,静态代码块会被执行且只执行一次。构造代码块:处于类中成员位置,无关键字修饰的代码块。每当类被实例化时都会被执行一次。局部代码块:处于类中局部位置(即处于内部类、成员方法等内部,即处在类中成员的内部),无关键字修饰的代码块。每当类被实例...原创 2019-07-19 21:24:52 · 767 阅读 · 1 评论 -
java中的类的修饰符
1.权限修饰符:public:可以被任意可见default:最大权限为被同包的类所见注:protected、private不能用于修饰类2.abstract:表示该类为抽象类。这里要注意一点,一个抽象类中也是可以没有抽象方法的。3.final:表示该类不能被继承。这一点与抽象类需要子类继承并实现抽象方法相矛盾。因此在修饰同一个类时,修饰符abstract与f...原创 2019-07-19 16:04:31 · 552 阅读 · 0 评论 -
java中的权限修饰符
java中的权限修饰符有如下4种:public:可以被任意可见protected:最大权限为被不同包的子类所见default:最大权限为被同包的类所见private:只在本类中可见关于权限修饰符修饰类、接口、或成员变量与局部变量时的情况,详见本人的其他博客。...原创 2019-07-19 15:54:09 · 125 阅读 · 0 评论