Java 包的理解

包的概念
包是组织类的一种方式
使用包的主要目的是为了保证类的唯一性
包的理解
包就是Java中的文件夹。你在代码中写了一个 Test 类. 然后你的同事也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致代码不能编译通,如同在电脑上两个相同的文件放在一起会提示是否要覆盖,如果不覆盖,只能改名字了。还有个方法,就是放在不同文件夹中。java项目中也是可以分不同文件夹的。只不过java中类的文件夹不叫文件夹,叫“包名”。
命名规范
1、不同路径通过点(.)来分割
2、由字母、数字下划线组成,不能以数字开头
3、全部小写
4、一般使用域名反写来命名包,为了保证包名唯一性。

导入包中的类
Java 中已经提供了很多现成的类供我们使用
1.可以使用Java.util.Date导入java.util包中的Date类

public class Test {
   public static void main(String[] args) {
     	 java.util.Date date = new java.util.Date();
      	 // 得到一个毫秒级别的时间戳
         System.out.println(date.getTime());
  }
 }
		2.使用import导入		
import java.util.Date;
public class Test {  
	 public static void main(String[] args) {     
			 Date date = new Date();     
			// 得到一个毫秒级别的时间戳        			   
			System.out.println(date.getTime()); 
	 }
 }
		3.如果需要使用 java.util 中的其他类, 可以使用 import java.util.*
	 	更建议显式的指定要导入的类名. 否则还是容易出现冲突的情况
import java.util.*;
import java.sql.*;
public class Test {
    public static void main(String[] args) {
        // util 和 sql 中都存在一个 Date 这样的类, 此时就会出现歧义, 编译出错
        Date date = new Date();
        System.out.println(date.getTime());
   }
}

// 编译出错
Error:(5, 9) java: 对Date的引用不明确
java.sql 中的类 java.sql.Date 和 java.util 中的类 java.util.Date 都匹配

这种情况下,需要使用完整的类名

import java.util.*;
import java.sql.*;
public class Test {
    public static void main(String[] args) {
        java.util.Date date = new java.util.Date();
        System.out.println(date.getTime());
   }
}


静态导入

import static java.lang.System.*;
public class Test {
    public static void main(String[] args) {
        out.println("hello");
   }
}
import static java.lang.Math.*;
public class Test {
    public static void main(String[] args) {
        double x = 30;
        double y = 40;
        // 静态导入的方式写起来更方便一些. 
        // double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
        double result = sqrt(pow(x, 2) + pow(y, 2));
        System.out.println(result);
   }
}

将类放入包中
基本规则
1.在文件的最上方加上一个 package 语句指定该代码在哪个包中.
2.包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 ).
3. 包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存储代码
4. 如果一个类没有 package 语句, 则该类被放到一个默认包中
包的访问权限(default)**
1.同一包中的同一类
2.同一包中的不同类

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值