java基础---包

来源:互联网 发布:比较好的杀毒软件知乎 编辑:程序博客网 时间:2024/05/20 15:39

1. 包知识点一:

package mypack;//相当于是文件夹名字,包名小写class PackageDemo0{public static void main(String[] args) {System.out.println("Hello World!");}}/*编译:编译的时候, javac PackageDemo0.java是可以通过的,会在当前目录下创建一个叫PackageDemo0.class 文件运行:1. 运行的时候,使用java PackageDemo0的时候,会发生错误: 找不到或无法加载主类 PackageDemo0   的错误,原因是文件路径不存在嘛2. 运行的时候,使用java mypack.PackageDemo0的时候,会发生错误: 找不到或无法加载主类 mypack.PackageDemo0   的错误,原因是没有创建文件夹正确的操作:1. 编译:javac -d . PackageDemo0.java  这样就会自动在当前目录下创建mypack文件夹2. 运行:java mypack.PackageDemo0*/

2. 包知识点二:

//import mypack1.Dog;/*这里会调用Dog类,而Dog.java文件已经 编译成javac -d . Dog.java*/class PackageDemo {public static void main(String[] args) {//Dog dog = new Dog();mypack1.Dog dog = new mypack1.Dog();dog.eat();System.out.println("Hello World!");}}/*问题一:使用Dog dog = new Dog();PackageDemo.java:7: 错误: 无法访问DogDog dog = new Dog();^  错误的源文件: .\Dog.java文件不包含类Dog请删除该文件或确保该文件位于正确的源路径子目录中1 个错误正确的调用方法:mypack1.Dog dog = new mypack1.Dog(); 找到文件路径问题二:而当Dog.java文件已经 编译成javac -d c:\myclass Dog.java时候,我们再运行java PackageDemo时候PackageDemo.java:12: 错误: 程序包mypack1不存在mypack1.Dog dog = new mypack1.Dog();   ^PackageDemo.java:12: 错误: 程序包mypack1不存在mypack1.Dog dog = new mypack1.Dog();正确的调用方法:设置环境变量 set classpath=c:\myclass问题三:而当Dog.java文件已经 编译成javac -d c:\myclass Dog.java时候编译主函数:javac PackageDemo.java,然后运行:java PackageDemo就会出现错误: 找不到或无法加载主类 PackageDemo 错误,说明运行时找不到Dog.class文件解决办法: javac -d c:\myclass PackageDemo.java 使PackageDemo.class文件和mypack文件夹路径相同*/
3. 包知识点三:

Animal.java

package mypackanimal;public interface Animal{public void eat();}  /*javac -d c:\myclass Animal.javaDog1.java:3: 错误: Animal在mypackanimal中不是公共的; 无法从外部程序包中对其进行访问解决方法: 加public*/

Dog1.java

package mypack1;public class  Dog1 implements mypackanimal.Animal{public void eat(){System.out.println("eat bones !!");}}/*javac -d c:\myclass Dog1.java3,权限在不同地方的体现:                public   protected       default     private同一类中:       ok       ok               ok         ok同一包中:       ok       ok               ok子类中:         ok       ok     不同包中:       ok*/



PackageDemo1.java

class PackageDemo1 {public static void main(String[] args) {//Dog dog = new Dog();mypack1.Dog1 dog = new mypack1.Dog1();dog.eat();System.out.println("Hello World!");}}/*javac -d c:\myclass PackageDemo1.javajava PackageDemo1*/

4. 包知识点四:

import mypack1.Dog2;class PackageDemo2 {public static void main(String[] args) {Dog2 dog = new Dog2();//mypack1.Dog1 dog = new mypack1.Dog1();dog.eat();System.out.println("Hello World!");}}/*1. 必须要导入包.类2. 还可以使用 mypack1.*; 但是不建议这样做, 导包原则:用到哪个类,就导入哪个类3. 高级编辑器会自动智能导入,不用手动全部操作,只需要一个快捷键*/


5. Jar知识点五:

package jarpack;class JarDemo {public static void main(String[] args) {System.out.println("Hello World!");}}/*Jar:java压缩包1. javac -d . JarDemo.java//创建jarpack包;2. jar -cf hululu.jar jarpack//创建jar包3. set classpath=./hululu.jar//设置环境变量为jar包目录4. java jarpack.JarDemo//运行*/





原创粉丝点击