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包冲突以及解决方案。

原文地址:https://www.cnblogs.com/marihua/p/8242756.html

时间: 2024-10-06 23:26:08

java中的包(package)的相关文章

Java中的包(package)

包的概念 Java中包(package)的概念和C++中命名空间(namespace)的概念很类似,都可以限制类的作用域.二者最大的差别在于,Java中的包隐式地指明了类的树形层级结构(同时也是Java源码文件的目录结构).这样做的好处在于:可以通过文件系统中对于文件路径唯一性的要求来限制类的唯一性. 代码组织 编写一个Java源代码文件(.java文件)时,此文件通常被称为编译单元.在编译单元内最多允许有一个public类,且该类的名称必须与文件名完全相同(包括大小写). 编译一个.java文

Java中带包(创建及引用)的类的编译与调试

Java中带包(创建及引用)的类的编译与调试 java源程序的编译大家都知道,也就是cmd中到源文件所在目录下javac **.java即可,当程序中有包声明还能简简单单的直接javac **.java吗?答案当然是no,下面举个简单的例子证明一下直接javac **.java会怎么样. 如下:F:\javaweb2班\20160531目录下有A.java文件,注意源文件中有包声明 package mypack; public class A { String name; int age; pu

java中import、package作用和用法

  有些人写了一阵子 Java,可是对於 Java 的 package 跟 import 还是不 太了解很多人以為原始码 .java 档案中的 import 会让编译器把所 import 的程式通通写到编译好的 .class 档案中,或是认為 import 跟 C/C++ 的 #include 相似,实际上,这是错误的观念. 让我们先了解一下,Java 的 package 到底有何用处. 其实,package 名称就像是我们的姓,而 class 名称就像是我们的名字 .package 名称有很多

Java中的包

以下内容引用自http://wiki.jikexueyuan.com/project/java/packages.html: 在Java中使用包是为了防止命名冲突,来控制访问,使得搜索/定位和类.接口.枚举和注释等的使用更为简单. 包可以被定义为一组相关的类型(类.接口.枚举和注释),提供访问保护和命名空间管理. 在Java中一些已经存在的包有: java.lang - 包含了基本类 java.io - 包含有输入,输出功能的类 程序员可以定义自己的包来包含各种类和接口等.把实现的相关类组织在一

java中不带package和带package的编译运行方式

Java中不带package的程序和带package的程序编译的方式是不同的. 一.不带package的程序建立个HelloWorld.java的文件,放入C:\,内容如下:public class HelloWorld{   public static void main(String args[])   //向屏幕上写字符串"HelloWorld!"    {      System.out.println("HelloWorld!");    }} 1.编译 

java面向对象(包package)

包package 对类文件进行分类管理 给类提供多层命名空间 写在程序文件的第一行 类名的全称是 包名.类名 包也是一种封装形式 包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰. 不同包中的子类还可以直接访问父类中被protected权限修饰的成员. 包与包之间可以使用的权限只有两种:public,protected public     protected     default     private 同一类中       ok               ok  

java中的"包"机制

完全掌握java中的"包"机制 "包"机制是java中特有的,也是java中最基础的知识.一些初学java的朋友,通常象学其它语言一样从教材上copy一些程序来运行,可是却常常遇到莫名其妙的错误提示.这些问题事实上都出在对"包"的原理不够清楚.本文将就此问题进行深入阐述. 一.为什么java中要有"包"的概念? 以一言概之,java中"包"的引入的主要原因是java本身跨平台特性的需求.因为java中的所有

Java中,包的概念、常量、静态成员、继承

新建包:左上角-新建-包 命名规则(通常从大到小,方便整合不容易冲突)  例如:com.itnba.maya.test package必须在最顶行,之前不能再有其他代码 使用包: 快捷方式:使用包中的某个变量名alt+/ import 包名.类名; //只引用包中某一个 import 包名.*; //引用包中所有的 例 import com.itnba.maya.*; 常量:final    (Java中没有真正的常量.只有final型的变量,可以当常量来用.   一次定义,多次使用,不可被更改

java中通过包名获取该包下的所有class

前面做的在mybatis通过注解自动创建更新表结构的项目,其中在spring加载完毕之后需要去获取所有实体类的class,用来获取实体类属性上的注解,进而分析表结构达到创建修改表结构的目的. 所以就需要一个功能,通过包名获取该包下的所有class,那么直接贴代码: package com.sunchenbin.store.utils; import java.io.File; import java.io.FileFilter; import java.io.IOException; impor