Java包及访问控制权限--包的定义和导入---package

简介: <h1>1、包的定义</h1> <div><img src="http://img.blog.csdn.net/20131010083059390" alt=""><br></div> <div><img src="http://img.blog.csdn.net/20131010083243359" alt=""><br></div> <div>其中:  <strong>.

1、包的定义



其中:   . 表示当前路径

2、包的导入


一个类需要被外包访问的话,需要定义为public class。
package org.lxh.demo08.a ;
public class Demo{
	public String getContent(){
		return "MLDN LXH" ;
	}
};

package org.lxh.demo08.b ;	// 放在不同的包中
import org.lxh.demo08.a.* ;	// 导入不同包中的Demo类
public class ImportDemo01{
	public static void main(String args[]){
		System.out.println(new Demo().getInfo()) ;
	}
};




此时:最好写入完整的 “包.类名称”。
package org.lxh.demo08.d ;
import org.lxh.demo08.a.* ;		// 包中存在Demo类
import org.lxh.demo08.c.* ;		// 包中存在Demo类
public class ImportDemo02{
	public static void main(String args[]){
		org.lxh.demo08.a.Demo d = new org.lxh.demo08.a.Demo() ;
		System.out.println(d.getInfo()) ;
	}
};

3、常见的系统包


4、静态导入


package org.lxh.demo08.e ;
public class Operate{							// 里面的方法全部都是static类型
	public static int add(int i,int j) {		// 加法操作
		return i + j ;
	}
	public static int sub(int i,int j) {		// 减法操作
		return i - j ;
	}
	public static int mul(int i,int j) {		// 乘法操作
		return i * j ;
	}
	public static int div(int i,int j) {		// 除法操作
		return i / j ;
	}
};

package org.lxh.demo08.f ;
import static org.lxh.demo08.e.Operate.* ;	// 静态导入
public class StaticImportDemo{
	public static void main(String args[]){
		System.out.println("3 + 3 = " + add(3,3)) ;	// 直接调用静态方法
		System.out.println("3 - 2 = " + sub(3,2)) ;	// 直接调用静态方法
		System.out.println("3 * 3 = " + mul(3,3)) ;	// 直接调用静态方法
		System.out.println("3 / 3 = " + div(3,3)) ;	// 直接调用静态方法
	}
};

5、jar命令



package org.lxh.demo08.demo ;
public class Hello{
	public String getInfo(){
		return "Hello World!!!" ;
	}
};
其中: org为包名的目录

set classpath=.;d:\packdemo\my.jar
其中:。表示当前目录; d:\packagedemo\my.jar为新增加的另一个路径

package org.lxh.demo08 ;
import org.lxh.demo08.demo.Hello ;
public class ImportJarDemo{
	public static void main(String args[]){
		Hello hello = new Hello() ;
		System.out.println(hello.getInfo()) ;
	}
};
javac -d . Hello.java
jar -cvf my.jar org
删除org文件夹
javac -d . ImportJarDemo.java
java org.lxh.demo08.ImportJarDemo

6、总结





目录
相关文章
|
存储 Java 数据挖掘
Java 中数组的多种定义方式
本文深入解析了Java中数组的多种定义方式,涵盖基础的`new`关键字创建、直接初始化、动态初始化,到多维数组、`Arrays.fill()`方法以及集合类转换为数组等高级用法。通过理论与实践结合的方式,探讨了每种定义方法的适用场景、优缺点及其背后的原理,帮助开发者掌握高效、灵活的数组操作技巧,从而编写更优质的Java代码。
796 0
|
存储 JSON Java
《从头开始学java,一天一个知识点》之:方法定义与参数传递机制
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 🚀 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。上篇:《输入与输出:Scanner与System类》 | 下篇剧透:《方法重载与可变参数》。
408 25
|
存储 监控 Java
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
599 23
|
数据安全/隐私保护
课时105:访问控制权限
面向对象开发的三大特点为封装、继承和多态。封装涉及属性和结构的封装及访问权限控制,主要通过四种访问修饰符实现:Private、Default、Protected 和 Public。继承围绕接口展开,多态实现参数统一。封装中,属性定义用 Private,方法定义用 Public,可解决大部分设计问题。示例代码展示了不同包中的类如何通过 Protected 访问父类属性。
238 1
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
1257 4
在Java中定义一个不做事且没有参数的构造方法的作用
Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,则编译时将发生错误,因为Java程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
2256 7
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
1178 1
|
Oracle Java 关系型数据库
重新定义 Java 对象相等性
本文探讨了Java中的对象相等性问题,包括自反性、对称性、传递性和一致性等原则,并通过LaptopCharger类的例子展示了引用相等与内容相等的区别。文章还介绍了如何通过重写`equals`方法和使用`Comparator`接口来实现更复杂的相等度量,以满足特定的业务需求。
172 3