《Java编程的逻辑》笔记14--代码的组织机制

代码的组织机制.png

作用概念

包,类似于电脑中的文件夹,文件夹一般是一个层次结构,包也类似。
使用任何语言进行编程都有一个相同的问题,就是命名冲突, Java中解决这个问题的方法就是包
##关键字

  • package
    (1)声明其包名
    (2)包名和文件目录结构必须匹配
  • import
    (1)import需要放在package定义之后,类定义之前
    (2)引入类
    (3)Eclipse中,通过菜单"Source->Organize Imports"或对应的快捷键ctrl+shift+O就可以自动管理引入类
    import是编译时概念,用于确定完全限定名,在运行时,只根据完全限定名寻找并加载类,编译和运行时都依赖类路径,类路径中的jar文件会被解压缩用于寻找和加载类。
  • public/private/protected
    (1)可见性范围: private < 默认(包) < protected < public
    protected可见性包括包可见性
    #jar包
    (1)编译后的一个或多个包的Java class文件可以打包为一个文件,Java中打包命令为jar,打包后的文件后缀为.jar,一般称之为jar包。
    命令:jar -cvf <包名>.jar <最上层包名>
    比如,对前面介绍的类打包,如果Hello.class位于E:\bin\shuo\laoma\Hello.class,则可以到目录 E:\bin下,然后运行: jar -cvf hello.jar shuo
    (2)jar包其实就是一个压缩文件,可以使用解压缩工具打开
    #代码的组织机制
  • 编译
    编译是将源代码文件变成一种字节码,后缀是.class的文件
    这个工作一般是由javac这个命令完成的
  • 连接
    接是在运行时动态执行的
    .class文件不能直接运行,运行的是Java虚拟机,执行的就是java这个命令,这个命令解析.class文件,转换为机器能识别的二进制代码,然后运行
    连接就是根据引用到的类加载相应的字节码并执行
  • 过程
    Java编译和运行时,都需要以参数指定一个classpath,即类路径。类路径可以有多个,对于直接的class文件,路径是class文件的根目录,对于jar包,路径是jar包的完整名称(包括路径和jar包名),在Windows系统中,多个路径用分号;分隔,在其他系统中,以冒号:分隔。 在Java源代码编译时,Java编译器会确定引用的每个类的完全限定名,确定的方式是根据import语句和classpath。如果import的是完全限定类名,则可以直接比较并确定。如果是模糊导入(import带.*),则根据classpath找对应父包,再在父包下寻找是否有对应的类。如果多个模糊导入的包下都有同样的类名,则Java会提示编译错误,此时应该明确指定import哪个类。 Java运行时,会根据类的完全限定名寻找并加载类,寻找的方式就是在类路径中寻找,如果是class文件的根目录,则直接查看是否有对应的子目录及文件,如果是jar文件,则首先在内存中解压文件,然后再查看是否有对应的类。

写在最后

都看到这里,保存思维导图,顺便给个赞呗!

发布了122 篇原创文章 · 获赞 454 · 访问量 49万+

猜你喜欢

转载自blog.csdn.net/DT235201314/article/details/100678603