java中的包(package)

Posted marihua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的包(package)相关的知识,希望对你有一定的参考价值。

  Java中的包在一定程度上类似于C++的命名空间,可以用于防止类名冲突。Java自带的类都位于java和javax包层次中,但引入时不能使用import java.*import javax.*

  当遇到同时使用几个不同包下名称相同的类时,在使用的地方可以直接加上包路径以防止冲突,如 java.util.Date date=new java.util.Date date();

  静态导入 import static java.lang.Math ,则可直接使用Math的静态方法,如sqrt(a)

  包的作用域:

  1.标记为public的类、属性或方法,可以被任意的类访问。标记为private的,只能被定义他们的类使用。

  2.若此类、属性或方法没有被public、private修饰,则只能被同一包路径下的类访问。

  3.类的属性或方法若被protected修饰,那么次属性或方法可以在同一包的其他类访问,可以被其他包中的子类访问。protected修饰的情况比较复杂,详见protected修饰规则

  类冲突:

  上面讲到包有有命名空间的作用,可以防止类名冲突。但是有一种情况,当使用第三方jar包的时候,可能会由于jar包下定义的全路径类相同,导致类冲突产生。此类冲突,我们一般常称为jar包冲突,此类冲突也有相应的解决方案。jar包冲突以及解决方案

 

以上是关于java中的包(package)的主要内容,如果未能解决你的问题,请参考以下文章

Java的包机制

当 this 绑定到 scala 中的包时,Private[this] 与 private[package] 有啥区别?

python3的包(package)在centos中的安装地址

Java 包(package)

Java 包(package)

Java - 25 Java 包(package)