摘要: 建议38: 使用静态内部类提高封装性 Java中的嵌套类(Nested Class)分为两种:静态内部类(也叫静态嵌套类,Static Nested Class)和内部类(Inner Class)。内部类我们介绍过很多了,现在来看看静态内部类。什么是静态内部类呢?是内部类,并且是静态(static修 阅读全文
posted @ 2016-04-24 22:52 SummerChill 阅读(908) 评论(0) 推荐(0)
摘要: 建议34: 构造函数尽量简化 我们知道在通过new关键字生成对象时必然会调用构造函数,构造函数的简繁情况会直接影响实例对象的创建是否繁琐。在项目开发中,我们一般都会制订构造函数尽量简单,尽可能不抛异常,尽量不做复杂算法等规范,那如果一个构造函数确实复杂了会怎么样?我们来看一段代码: 该代码是一个服务 阅读全文
posted @ 2016-04-24 22:43 SummerChill 阅读(1366) 评论(0) 推荐(0)
摘要: 建议33: 不要覆写静态方法 我们知道在Java中可以通过覆写(Override)来增强或减弱父类的方法和行为,但覆写是针对非静态方法(也叫做实例方法,只有生成实例才能调用的方法)的,不能针对静态方法(static修饰的方法,也叫做类方法),为什么呢?我们先看一个例子,代码如下: 运行输出: 这个结 阅读全文
posted @ 2016-04-24 22:41 SummerChill 阅读(1430) 评论(1) 推荐(1)
摘要: 建议32: 静态变量一定要先声明后赋值 这标题看着让人很纳闷,什么叫做变量一定要先声明后赋值?Java中的变量不都是先声明后使用的吗?难道还能先使用后声明?能不能暂且不说,我们先来看一个例子,代码如下: 这段程序很简单,输出100嘛!对,确实是100,我们再稍稍修改一下,代码如下: 注意,变量i的声 阅读全文
posted @ 2016-04-24 22:30 SummerChill 阅读(15845) 评论(2) 推荐(0)
摘要: 建议49: 推荐覆写toString方法 为什么要覆写toString方法,这个问题很简单,因为Java提供的默认toString方法不友好,打印出来看不懂,不覆写不行,看这样一段代码: 输出的结果是:Person@1fc4bec。如果机器不同,@后面的内容也会不同,但格式都是相同的:类名 + @ 阅读全文
posted @ 2016-04-24 22:24 SummerChill 阅读(2202) 评论(0) 推荐(0)
摘要: 建议50: 使用package-info类为包服务 Java中有一个特殊的类:package-info类,它是专门为本包服务的,为什么说它特殊呢?主要体现在3个方面: (1)它不能随便被创建 在一般的IDE中,Eclipse、package-info等文件是不能随便被创建的,会报“Type name 阅读全文
posted @ 2016-04-24 22:19 SummerChill 阅读(1765) 评论(1) 推荐(2)
摘要: 建议51: 不要主动进行垃圾回收 很久很久以前,在Java 1.1的年代里,我们经常会看到System.gc这样的调用—主动对垃圾进行回收。不过,在Java知识深入人心后,这样的代码就逐渐销声匿迹了—这是好现象,因为主动进行垃圾回收是一个非常危险的动作。 之所以危险,是因为System.gc要停止所 阅读全文
posted @ 2016-04-24 22:18 SummerChill 阅读(2177) 评论(0) 推荐(1)
摘要: 建议52:推荐使用String直接量赋值 一、建议 String对象的生成方式有两种: 1.通过new关键字生成,String str3 = new String(“中国”); 2.直接声明,如:Str str = "a"。 对于String对象来说,极力推荐使用直接声明的方式。 二、分析 Java 阅读全文
posted @ 2016-04-24 22:16 SummerChill 阅读(924) 评论(0) 推荐(0)