包与导入语句剖析

  1. 包(package)。用于将完成不同功能的类分门别类,放在不同的目录(包)下。包的命名规则:将公司域名反转作为包名。如:com.baidu,对于包名:每个字母都需要小写。如果定义类时候,没有使用package,那么Java就认为我们所定义的类位于默认包里面(default package)。
  2. 编译带有package声明的Java源文件有两种方式:

    a)直接编译,然后根据类中所定义的包名,逐一手工建立目录结构,最后将生成的class文件放到该目录结构中(很少使用,比较麻烦)。

    b)使用编译参数-d,方式为javac -d.源文件.java,这样编译后,编译器就会自动帮助我们建立好包所对应的目录结构。

  3. 有两个包名,分别是aa.bb.cc与aa.bb.cc.dd,那么我们称后者为前者的子包。
  4. 导入(import),将使用package分离的各个类导入回来,让编译器能够找到所需要的类。
  5. import的语法:import com.baidu.Person;
  6. import com.baidu.*;表示导入com.baidu包下面的所有类。
  7. import aa.bb.*;并不会导入aa.bb.cc包下面的类。这时需要这样写:

    import aa.bb.*;

    import aa.bb.cc.*;

  8. 关于package、import、class的顺序问题:

    a)首先需要定义包(package),可选

    b)接下来使用import进行导入,可选

    c)然后才是class或interface的定义

  9. 如果两个类在同一个包下面,那么则不需要导入,直接使用即可。
时间: 2024-08-27 03:06:01

包与导入语句剖析的相关文章

Java记录 -20- 包与导入语句

Java 包与导入语句 包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下. 包的命名规则:一般讲公司域名反转作为包名.对于包名,每个字母都需要小写. 如果定义类的时候没有使用package,那么java就认为我们所定义的类位于默认包里面(default package). 编译带有package声明的Java源文件有两种方式: 1).直接编译,然后根据类中所定义的包名,逐一手工建立了目录结构,最后将生成的class文件放到改目录结构中(很少使用,比较麻烦). 2).使

python模块与包的导入

1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包,即module package,是一个目录,该目录中包含.py文件,其中必须有一个__init__.py文件,该文件用于声明和初始化模块包.第一次在进程中导入某个目录(包)时,python会自动运行__init__.py文件中的代码.该目录会在内存中创建一个模块对象,__init__.py中赋值的变量则会变成该模块对象的属性.

装饰器、包的导入

python2 存在内存里的 字符串就是bytes,bytes就是字符串, 需要先解码(decode),再编码(encode) python3 字符串 = unicode, bytes = py2 bytes, 不需要解码,自动转成unicode编码(没有decode方法) 如果需要转成别的格式,可以加上encode 默认文件编码utf-8, 变量的编码unicode 二进制--> bytes --> 字符编码的格式 一.为什么使用函数之模块化程序设计 不使用模块的缺点: 体系结构不清晰,可读

【Python之模块及包的导入】

一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块能定义函数,类和变量,模块里也能包含可执行的代码. 包括:内置模块,自定义模块,第三方模块: 2.作用 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序

【Python 生成器 匿名函数 递归 模块及包的导入 正则re】

一.生成器 1.定义 生成器(generator)是一个特殊的迭代器,它的实现更简单优雅,yield是生成器实现__next__()方法的关键.它作为生成器执行的暂停恢复点,可以对yield表达式进行赋值,也可以将yield表达式的值返回. 也就是说,yield是一个语法糖,内部实现支持了迭代器协议,同时yield内部是一个状态机,维护着挂起和继续的状态. yield的功能: 1.相当于为函数封装好__iter__和__next__ 2.return只能返回一次值,函数就终止了,而yield能返

【Python3之模块及包的导入】

一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块能定义函数,类和变量,模块里也能包含可执行的代码. 包括:内置模块,自定义模块,第三方模块: 2.作用 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序

Python包的导入说明

import 模块 from 包 import 模块 上面的代码有什么区别呢? from 模块 import * 这种导入想象与把模块里面的代码都复制到当前模块中(也就是该语句所在位置),这时候你可以直接使用这个模块里面的变量名称和方法等.所以这种方式如果变量和方法和当前模块有重名则会不生效. import 模块 这种导入如果你使用里面的变量或方法,必须加上模块名称前缀.import 的本质是把模块提前解释一遍然后赋值给一个与模块同名的变量,所以这也就是为什么你使用里面的模块或变量要加模块名的原

python之模块、包的导入过程和开发规范

摘要:导入模块.导入包.编程规范 以My_module为例,My_module的代码如下: __all__ = ['name','read'] print('in mymodule') name = '帅锅' def read(): print('in read',name) def read2(): print('in read2',name) if __name__ == '__main__': print('in mymodule') print('__name__ : ',__name_

包的导入/软件开发规范/异常处理

1.包的导入包是一票文件夹和py绝对导入是从根目录开始from,不能挪动,但是直观(此处的根目录可以通过打印sys.path来查看) 相对路径是使用.和..来表示,可以挪动此时不能再在包内的任何位置使用绝对路径来导入,也绝不能再包里调用里面的py文件 一个' . '表示当前文件夹,两个' . . '表示当前文件夹的上一层文件夹. 2.软件开发规范: 每一个项目都写成这样, bin下面有start.py,作为程序入口,if__name__==双下main,如下定式导入便不会再犯错 import o