最近重读Java 编程思想,读到有关实例化代码块儿 的内容,使我对于使用两个大括号进行初始化有了更深的理解. 实例化代码块儿: 和静态代码块儿的概念相对应,静态代码块儿是static 关键字 + 大括号,把静态代码块儿的static关键字去掉就是实例化代码块儿,静态代码块儿在类初始化的时候执行一次 而实例化代码块儿在每次生成对象的时候都会执行(实例化代码块儿会先于构造方法执行). 使用匿名内部类进行初始化:在new 一个对象的时候,小括号后边跟一个大括号 使用匿名内部类 + 实例化代码块儿 =…
Java中的两个关键字——super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造器中调用父类的构造器 使用super关键字注意事项: 1.当子类和父类都有同名的属性时,在子类中如果要使用父类的属性 super . 属性 2. super只能应用在成员方法和构造方法中,不能用在静态方法中(和this是一样的) 3.如果…
JAVA中比较两个文件夹不同的方法,可以通过两步来完成,首先遍历获取到文件夹下的所有文件夹和文件,再通过文件路径和文件的MD5值来判断文件的异同.具体例子如下: public class TestFolderCompare { /** * 根据路径获取所有的文件夹和文件,及文件的md5值 * @param path 路径 */ private static Map<String, FileModel> getFiles(String path) throws IOException { Map…
Java 中如何计算两个字符串时间之间的时间差?(单位为分钟) import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Test { public static void main(String[] args) { // 计算时间差 System.out.println(CalTime("…
Java中的两种异常类型是什么?他们有什么区别? Throwable包含了错误(Error)和异常(Excetion两类) Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常) Error 是程序无法处理了, 如OutOfMemoryError.OutOfMemoryError等等, 这些异常发生时, java虚拟机一般会终止线程 . 运行时异常((RuntimeException) 都是RuntimeException类及其子…
Java中"指针"的解释以及对"引用"的理解 初学Java面对对象编程,对于一些概念还真的有点难以理解,主要是因为不由自主的联系到以前学过的C语言知识,时不时的影响着自己对Java语言的认识,如今自己对于Java的一些概念解释和理解记录下来,以便于以后回顾: 一.引用: 在Java语言的教材中关于创建对象格式是这样规定的: 类名 引用变量 = new 类名(); 对于这句话的解释是:创建一个对象,将对象的地址赋值给引用变量,此时变量就持有了对象的引用:而此时我们就可…
我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题.在编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写.在java中,用的是equals(); String name = new String("sunzhiyan"); String age = new String("sunzhiyan"); if(name ==age){ System.out.print("相等");…
java中判断字符串是否相等有两种方法:1.用"=="运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc":那么a==b将返回true.这是因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象:再比如:String a=new String("abc"); String b=new String("abc&qu…
在Java中通常要比较两个对象在修改前与修改后的值是否相同,一般我们采用的是反射技术获取对象的get方法[或其他的方法]获取值并做比较.如果系统将修改的属性名称也显示出来,这样就能更直观的显示类中的哪一个属性的值被修改了.然后Java中只能获取属性的名称,也就是英文标识的属性名,但是一般我们都会在属性后面添加属性的注释,但是Java不提供注释获取的方法.所以我们只能使用另外一种方式来将属性和属性注释关联起来,这就是Java中的@Annotation. public static  Map<Str…
Java中return的两个作用:   (1)返回方法指定类型的值(这个值总是确定的),也可以是对象   (2)方法的结束…