标签:访问控制 包 工具库 import classpath
Java编程思想–学习笔记(一) 
访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。 
1、包:库单元 
我们之所以要导入包,就是要提供一个管理名字的空间机制。 
每个java文件只能有一个public类。其他私有类为主public·类提供支持。 
1.1 代码组织 
与编译型语言不同,java可运行程序是一组可以打包并压缩成java文档文件(JAR,使用Java的jar文档生成器)的.class文件。 
使用package和import关键字,使得不会出现名称冲突问题。 
注意:java包的命名规则全部使用小写字母,包括中间的字。 
1.2 创建独一无二的包命 
package名称的独特性一是在于类的创建者的反顺序是Internet的域名,二是在于package名称分解为你机器上的一个目录。 
java解释器的运作过程如下: 
    1)找到环境变量CLASSPATH 
    2)通过将包名的“.”换做“/”,从CLASSPATH根中产生一个路径名称。 
    3)解释器根据路径找到与包名相对应的“.class”文件。 
CLASSPATH包含一个或多个目录,用来查找.class的根目录。因此java解释器查找的路径包含两部分,第一部分是CLASSPATH下的某一个目录,第二部分是由包名改造而成的路径。 
注意: 
    1)使用jar文件时,CLASSPATH中包含jar文件的实际名称。 
    2)通过“*”导入类库时可能在使用两个库含有相同名称的类时出现冲突。解决方式是在使用的类前写全它的包,或者使用单个类导入形式。 
1.3 定制工具库 
创建自己的工具库来减少和消除重复的程序代码。 
代码实例: 
Print.java
package com.study.until;
import java.io.PrintStream;
/**
 * 
 * @author wom Print method that can be used without
 */
public class Print {
    // Print with a newline
    public static void print(Object obj) {
        System.out.println(obj);
    }
    // Print only a newline
    public static void print() {
        System.out.println();
    }
    // Print without a newline
    public static void printnb(Object obj) {
        System.out.print(obj);
    }
    // printf() from Java SE5
    public static PrintStream print(String format, Object... args) {
        return System.out.printf(format, args);
    }
}
PrintTest.java
package com.study.test;
import static com.study.until.Print.*;
public class PrintTest {
    public static void main(String[] args) {
        print(11111);
        print("what!");
        print();
        printnb("what are you doing?");
        printnb(" where are you! ");
    }
}
注意: 
    1)JDK1.5中,String类新增了一个静态方法String.format()。 
    2)Object… args是指可变参数。即调用时可写多个参数,相当于 
        public static PrintStream print(String format, Object obj) { 
            return System.out.printf(format, obj); 
        } 
    使用时: 
        print(format,Object(obj1,obj2,obj3,……)) 
    3) 引用static方法时import语句的写法。 
1.4 用import改变行为 
可以通过修改被导入的package的方法来实现条件代码。
标签:访问控制 包 工具库 import classpath
原文地址:http://blog.csdn.net/qq_22939165/article/details/43737043