您的位置:首页 > 编程语言 > Java开发

【Java编程思想--学习笔记(一)】访问控制-包

2015-02-12 13:07 633 查看
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)通过“*”导入类库时可能在使用两个库含有相同名称的类时出现冲突。解决方式是在使用的类前写全它的包,或者使用单个类导入形式。

注意:不要错误的认为Java总是将当前目录视为查找行为的起点之一,如果你的CLASSPATH之中缺少一个“.”作为路径之一的话,Java就不会查找到那里。

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的方法来实现条件代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: