05---包及访问控制权限

来源:互联网 发布:yeah i said it 编辑:程序博客网 时间:2024/05/24 07:27
 

1. 包的静态导入:
 import static 包+类名称;
 则导入的类的方法必须是静态的类;
 用该类的方法时,不用类.方法名了,而是直接用方法名称即可;
 其实没多大作用的,如果导入的包+类名称中,用到的方法是静态方法,不用静态导入。,
 也是直接写方法名称来用的,也不用类.方法名的;

2.jar命令:
 当开发者开发出一套java类后,可定要把这些类交给用户使用的,但是如果
 所有的类是直接通过*.class文件的格式给用户的话,则会比较麻烦;
 所以一般情况下会将这些*.class文件压缩成一个文件交个客户使用;
 那么这样的文件就成为jar文件,如果要想生存jar文件,直接使用jdk中中
 bin目录下的jar.exe就可以将所有的文件进行压缩;
 jar中的几个主要参数:
 c:创建新的文档;
 v:生成详细的输出信息;
 f:指定存档的文件名;

 注意:为什么是将*.class文件打成jar包呢,而不是*.java呢?  
  因为pachage指的是生成*.class文件的位置,而import
  导入的也是*.class文件的位置;所以当然是将*.class文件打成
  jar包了;

 package com.sdunicom.lid;
 public class Demo{
  public String getInfo(){
   return "Hello World!!!";
   }
  }
  
  打包编译:javac -d . Demo.java
  将其打成jar包:jar -cvf my.jar com---my.jar是生成的jar包的名称,
  com指的是将其下的所有都打包;一个jar包如果想使用的话,则必须
  配置classpath路径:
  set classpath=".;D:\javademo\my.jar";
 为什么设置路径时要定位到my.jar?(个人见解)
  打包就是将com\sdunicom\lid\Demo.class文件压缩在my.jar中,my.jar就相当于一文件夹;
 注意:
  为什么设置classpath的时候有个.(点)呢?
  该.(点)指的是当前路径,因为执行java命令时后面跟的带main函数的.class文件
  是在本路径下的,所以要将先设成当前路径,当然可以设成别的,那样的话所有项目
  的*.class文件必须都放到设定的路径下,这样是相当麻烦的;当在当前路径下找不到的话,
  然后就会在向设置的classpath的D:\javademo\my.jar中去找;

 解析java命令执行过程:(个人见解而已)
  java 后面包.类名称---包含main方法的类,执行会从main函数开始,一行一行的向下
  解释*.class文件;当遇到不能识别的类时,则回去import中去找-----相当于再执行一次
  java 包.类名称;首先根据设置的classpath在当前路径下找该*.class文件,如果没有则在
  D:\javademo\my.jar中去找;这样将导入的类也加大内存找了,所以刚才遇到的类,就可以被
  识别了;

 package com.sdunicom.lid1;
 import com.sdunicom.lid.Demo;
 public class Demo1{
  public static void main(String args[]){
   Hello hello=new Hello();
   System.out.println(hello.getInfo());
   }
  }

原创粉丝点击