首页 > 代码库 > java9-4 包

java9-4 包

面试题:
package,import,class有没有顺序关系?
有。
package > import > class

Package:只能有一个
import:可以有多个
class:可以有多个,以后建议是一个

1、 包:
A:其实就是文件夹
B:作用
a:把相同的类名放到不同的包中
b:对类进行分类管理

举例:
学生:增加,删除,修改,查询
老师:增加,删除,修改,查询
...

方案1:按照功能分
cn.itcast.add
  AddStudent
  AddTeacher
cn.itcast.delete
  DeleteStudent
  DeleteTeacher
cn.itcast.update
  UpdateStudent
  UpdateTeacher
cn.itcast.find
  FindStudent
  FindTeacher

方案2:按照模块分
cn.itcast.teacher
  AddTeacher
  DeleteTeacher
  UpdateTeacher
  FindTeacher
cn.itcast.student
  AddStudent
  DeleteStudent
  UpdateStudent
  FindStudent

包的定义
package 包名;
多级包用.分开即可


注意事项:
A:package语句必须是程序的第一条可执行的代码
B:package语句在一个java文件中只能有一个
C:如果没有package,默认表示无包名

带包的编译和运行:(看了就忘了吧..用不上这两个)
A:手动式
a:编写一个带包的java文件。
b:通过javac命令编译该java文件。
c:手动创建包名。
d:把b步骤的class文件放到c步骤的最底层包
e:回到和包根目录在同一目录的地方,然后运行
带包运行。

B:自动式
a:编写一个带包的java文件。
b:javac编译的时候带上-d即可
javac -d . HelloWorld.java
c:回到和包根目录在同一目录的地方,然后运行
带包运行。

package cn.itcast;

class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}

2、 不同包下类之间的访问
A、先在一个包下创建一个类:
/*
Demo类,求和
*/
package com.liuyi;

public class Demo {
public int sum(int a,int b) {
return a + b;
}
}

B、再在另一个包下创建一个测试类

Test类,测试

导包:
  格式:import 包名;
  这种方式导入是到类的名称。
  注意:我们用谁就导谁。

  面试题:
    package,import,class有没有顺序关系?
    有。
    package > import > class

    Package:只能有一个
    import:可以有多个
    class:可以有多个,以后建议是一个

 1 package cn.itcast; 2  3 import com.liuyi.Demo; 4  5 class Test { 6 public static void main(String[] args) { 7 //Demo d = new Demo(); 8 /* 9 com.liuyi.Demo d = new com.liuyi.Demo();10 System.out.println(d.sum(10,20));11 12 com.liuyi.Demo d2 = new com.liuyi.Demo();13 System.out.println(d2.sum(10,20));14 15 com.liuyi.Demo d3 = new com.liuyi.Demo();16 System.out.println(d3.sum(10,20));17 18 com.liuyi.Demo d4 = new com.liuyi.Demo();19 System.out.println(d4.sum(10,20));20 */21 22 Demo d = new Demo();//导包后这样写23 System.out.println(d.sum(10,20));24 }25 }26 27 /*28 第一个问题:找不到Demo 如果没import导入Demo,就找不到29 30 第二个问题:程序包com.liuyi不存在 因为还没生成class文件,得先生成31 32 第三个问题: Demo在com.liuyi中不是公共的; 无法从外部程序包中对其进行访问 不够权限33 */

 

java9-4 包