Java包的概述和讲解
Posted benon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java包的概述和讲解相关的知识,希望对你有一定的参考价值。
包(package):其实就是文件夹。
作用:对类进行分类管理。
格式:包与子包之间通过 . 连接。
注意事项:
1.package语句必须是程序的第一条可执行代码;
2.package语句在一个java文件中只能有一个;
3.如果没有package,默认表示无包名。
带包的程序编译和运行:
1.手动式
a:编写一个带包的java文件;
b:通过javac命令编译该java文件;
c:手动创建包名和子包名;
d:把b步骤创建的class文件放到最底层的包内;
e:回到和包根目录在同一目录的地方,然后带包运行。
2.自动式
a:编写一个带包的java文件;
b:javac编译的时候,在其后面带上-d . 即可;( . 的前后都要有空格)
c:回到和包根目录在同一目录的地方,然后带包运行。
不同包下的类相互访问:
举例:定义一个功能类Demo,一个测试类Test,两个类分别定义在不同包内,如下:
1 /* 2 Demo类,求和 3 */ 4 package com.benon; 5 6 public class Demo{ 7 public int sum(int a,int b){ 8 return a + b; 9 } 10 }
1 /* 2 Test类,测试 3 */ 4 package cn.itcast; 5 6 class Test{ 7 public static void main(String[] args){ 8 com.benon.Demo d = new com.benon.Demo(); 9 System.out.println(d.sum(10,20)); 10 } 11 }
注意事项:
1.测试类Test需要调用功能类Demo中的方法,如果直接编译Test类,会提示"找不到Demo";
此时需要带包定义,比如:com.benon.Demo
2.如果直接编译Test类,会提示“程序包com.benon找不到”;
此时需要先用javac -d . 编译Demo类,这样才会产生com.benon的包目录。
3.如果Demo类前面不添加public,会提示“Demo在com.benon中不是公共的”,即无法从外部程序包中对其进行访问;
故功能类Demo前必须加上public,这样才能被外部类访问。
故上面的程序正确的编译步骤如下:
javac -d . Demo.java
javac -d . Test.java
java cn.itcast.Test
以上是关于Java包的概述和讲解的主要内容,如果未能解决你的问题,请参考以下文章