欢迎关注我的微信公众号,共同打牢 Java 的基础,向着远方进击
本文作为构建第一个 Java 程序的番外篇二,主要跟大家伙儿从浅层次的探讨下 Java 中的关键字 import 和 static,此外为了让我们的代码可读性更强,必要的包和代码的命名规范是必须的。
今日份重点
命名规范
注释
static 关键字
import 关键字
总结
命名规范
规范的包名
名字管理是所有编程语言都必须重视的一个问题。
Java 为了解决命名冲突,建议开发者反过来使用当前应用所归属的 Internet 域名来作为包名的前缀。比如说百度,其域名为 baidu.com,那么其对应的应用的包名前缀就应该为 com.baidu…。包名格式一般为:
前缀. 应用名称. 所有者. 分层信息
如百度的搜索业务,假如其所有者为 tony,当前为 service 层,则当前的包名理论上应该为:com.baidu.search.tony.service,其中的. 代表目录分层,按照当前包名,你应该得到一个如 com/baidu/search/tony/service 的目录结构:
注意:包名要求全小写哦
规范的类名称
首字母大写
如有由多个单词组成,则每个单词的首字母大写
规范的变量名称、方法名称
变量和方法名
首字母小写
如果由多个单词组成,则除首个单词外其他单词的首字母大写
常量
全部大写
需要共同遵循的公共规则
名字只能由字母、数字、$ 符号、下划线_、组成
不能以数字开头
不能使用 Java 中的关键字
不能出现中文及拼音(国际化)
注释
注释就是故事中的旁白,告诉你前因后果,但却从来不出现在荧幕上。
Java 中支持两种风格的注释
以 /* 开始,以后 */ 结束,用于代码块注释,其注释作用是跨行的
/* 这是一个注释的示例
这种注释的作用是跨行的
我可以干掉一整片 */
以 // 开始,没有结束符号,用于代码行注释,其注释作用是行内的 // 我只能干掉一行
以上是两种基本的注释方式。在 Java 中,有把自己提供的接口发布出去的需求,因此可能需要生成 JavaDoc 文件。为了简便生成 JavaDoc 的流程,先简单介绍一种接口的注释,其以 /** 开头,以 */ 结尾:
/**
* 这是一个获取数据的接口,这里做一个接口注释的范例
* @param id 这是 id 属性的说明
* @param name 这是 name 属性的说明
* @return 没有返回值
*/
public void getData(Integer id, String name){}
以上示范的是接口注释的使用,其中的 @param 用于说明接口参数,@return 用于说明接口返回值。这些在后面会详细讲,这里只做简单了解。
static 关键字
只有在执行了 new 操作的时候,数据存储空间才被分配,类的方法才可以提供给外部使用。
在 Java 中,static 关键字用于把属性或方法从对象中剥离出来。意味着,按照惯例,类必须实例化(即使用 new 关键词新建对象)后,才能访问其属性和方法,而使用了 static 之后,即使类没有实例化,我同样可以访问。
static 关键字以下特性:
与对象无关,调用方法直接使用类名. 方法名,调用属性则使用类名. 属性名,当然,以前的调用方式还是保留的,你仍然可以使用对象来调用
static 修饰的属性,无论创建多少个对象,在内存中都只有一份存储空间
static 修饰的方法不能调用非 static 修饰的属性或方法,反之则可以
static 修饰的类,必然是静态内部类
static 关键字的放置位置,一般是在类的 class 关键字前;或在属性的类型前,或在方法的返回类型前:
public class TypeName{
// 属性
public static String s = “Hello World”;
// 方法
public static void main(String [] args) {
System.out.println(s);
}
// 类
public static class Inner {}
}
关于 static 关键字,在后面的内容中会深入分析,这里只做简单介绍。
import 关键字
众人拾柴火焰高,我们不仅仅要自己写代码,还要复用别人的代码。
Java 是开源的,因此存在大量附生的开源项目可以供我们使用,Java 提供了 import 关键字用于帮助我们引用别人提供的类或方法。import 引入的内容,需要放在代码头部
如使用 import java.util.ArrayList;,你向编译器发出了要使用 ArrayList 类的信号,其在编译时就会自动定位到这个类。如果你想引用同一个包中的多个类,那么试试 import java.util.*,这里用了 * 来匹配 java.util 包下的所有类。
还有一种情况,可能你会在当前类中多次用到某个类的某个静态方法或属性,那么你可以试试这样引入:import static java.util.stream.Collectors.*,这里直接把 Colloctors 类静态引入,注意后面的 *,它表示引入该类下所有可见的静态的方法和属性,这样你在调用的时候,就更简便了。比如说你要调用 Collectors.toSet() 的时候,你就可以直接写 toSet() 就可以啦!是不是很方便呢?
记住哦,在 Java 中有个比较特别的包,它是默认引入的,不需要我们显式引入。是谁这么大牌?java.lang.*;
总结
本文主要介绍了 Java 中的命名规范、注解、import 关键字、static 关键字等内容。其中,命名规范能极大提高代码的可读性,在实际的协同工作中,能让同事更快地明白你代码表达的意思。代码注解则是你对代码的说明,于己于人都是有益的。我们不会每天都接触同一段代码,注释则帮助我们记忆代码中的重点。import 关键字用于引入当前包之外的其他类,帮助我们扩展程序和复用代码。static 关键字则是 Java 中非常重要的一个关键字,在后续还会继续深入探讨,理清它的特性,对我们编写代码,排除 bug 有很大的益处。
对,你学到了一个新词,bug,后面,它会教你做人!
下一节,我们开始运用这些只是来编写我们的第一个 Java 程序!期待着吧!