扫一扫加我的微信公众号,和我一起打好Java的基础

《Java编程思想》读书笔记-基本规范、注释、static关键字、import关键字-LMLPHP

今日份重点

  • 命名规范
  • 注释
  • static关键字
  • import关键字
  • 总结

命名规范

规范的包名

Java为了解决命名冲突,建议开发者反过来使用当前应用所归属的Internet域名来作为包名的前缀。比如说百度,其域名为baidu.com,那么其对应的应用的包名前缀就应该为com.baidu...。包名格式一般为:

前缀.应用名称.所有者.分层信息

如百度的搜索业务,假如其所有者为tony,当前为service层,则当前的包名理论上应该为:com.baidu.search.tony.service,其中的.代表目录分层,按照当前包名,你应该得到一个如com/baidu/search/tony/service的目录结构:

《Java编程思想》读书笔记-基本规范、注释、static关键字、import关键字-LMLPHP

注意:包名要求全小写哦

规范的类名称
  • 首字母大写
  • 如有由多个单词组成,则每个单词的首字母大写
规范的变量名称、方法名称

变量和方法名

  • 首字母小写
  • 如果由多个单词组成,则除首个单词外其他单词的首字母大写

常量

  • 全部大写
需要共同遵循的公共规则
  • 名字只能由字母、数字、$符号、下划线_、组成
  • 不能以数字开头
  • 不能使用Java中的关键字
  • 不能出现中文及拼音(国际化)

注释

Java中支持两种风格的注释

  • /*开始,以后*/结束,用于代码块注释,其注释作用是跨行的
    /*这是一个注释的示例
    这种注释的作用是跨行的
    我可以干掉一整片*/
    
  • //开始,没有结束符号,用于代码行注释,其注释作用是行内的

    //我只能干掉一行

以上是两种基本的注释方式。在Java中,有把自己提供的接口发布出去的需求,因此可能需要生成JavaDoc文件。为了简便生成JavaDoc的流程,先简单介绍一种接口的注释,其以/**开头,以*/结尾:

/**
 * 这是一个获取数据的接口,这里做一个接口注释的范例
 * @param id 这是id属性的说明
 * @param name 这是name属性的说明
 * @return 没有返回值
 */
public void getData(Integer id, String name){}

以上示范的是接口注释的使用,其中的@param用于说明接口参数,@return用于说明接口返回值。这些在后面会详细讲,这里只做简单了解。

static关键字

在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程序!期待着吧!

02-14 06:06