java隐藏实施过程
1 package 和 import的作用是分割全局命名空间,保证我们不会遇到名字的冲突。
2 java解释器的工作程序:
(1) 首先它找到环境变量CLASSPATH , CLASSPATH包含一个或多个目录,它们作为一个特殊的根使用,从这里展开对.class文件的搜索,
从那个根开始,解释器会寻找包名,并将它们每一个点号替换为一个斜杠,从而开始生成CLASSPATH根开始的一个路径名,(package foo.bar.baz会变为 foo\bar\baz)随后将它们连接到一起,成为classpath的各个入口。以后搜索.class文件时,就可以从这些地方查找与准备创建的类名相对应得名字。另外它也会搜索一些标准目录,这些目录与java解释器驻留的地方有关。
(2)以后一些有用的工具类都加入到tools目录下,方便以后复用
3 java取消了c的条件编译,该特性在c语言中主要用于垮平台,因为java本来就是一种跨平台的语言,所以就丢弃了该特性。(另外条件编译还有一个很重要的用途就是进行代码调试),我们可以用包来模仿条件编译的功能。
(1)利用package进行程序调试
下面是debug版本
package cn.bupt.tools.debug;
public class Assert {
private static void perr(String msg){
System.out.println(msg);
}
public final static void is_true(boolean exp){
if(!exp) perr("Assertion failed!");
}
}
下面是发行版本
package cn.bupt.tools.rel;
public class Assert {
private static void perr(String msg) {};
public final static void is_true(boolean exp){};
}
在主程序中通过引用不同的package,可以将自己的代码从调试版本变成最终的发行版本。
package cn.bupt.duming;
import cn.bupt.tools.rel.*; //发行版
//import cn.bupt.tools.debug.*; //调试版
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Assert.is_true((2 + 2) == 5) ;
}
}
利用包的不同可以完成程序版本的调控,经典!!!!
4 java访问控制符
(1)friendly 若是没有指定指示符,则它们通常称之为又好的,friendly ,。当前包的所有类都能访问到该成员,但是包外的所有类都不能这些成员。
又好元素拥有"包访问"权限。
(2) public 接口访问
(3)
相关文档:
package com.navinfo.mygim.admin.util;
/*
* Pinyin.java
* vicbay
*/
public class Pinyin{
private String[] name = { "zuo", "zun", "zui", "zuan", "zu", "zou",
"zong", ......
http://www.java-cn.com/technology/tech/4759.html
偶尔在网上发现的一片关于掌握JAVA的标准,感觉有点意思,虽然在一些观点上有些偏颇,但作为学习JAVA的引导尚可。至于原创是谁没有必要考证。
时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里,笔者根据 ......
/*
* @(#)MemoryMonitor.java 1.3 05/11/17
*
* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are ......
我今天学习了Oracle数据库如何修改表的知识,是冯威老师讲的课,我做了简单的记录:
1.在表中插入新的列:
alter table tablename
add city varchar(2) default 'rr' //赋默认值
2.修改表中的列:
alter table tablename
modify city varchar(20)
3.删除表中的列:
alter t ......
及时消除不使用的对象的引用, 理论上, 带有内存管理的语言是不存在内存泄漏的, 但是如果对对象的操作不当,也是可能会造成内存泄漏. 如有一个stack, 其pop函数如下. public Object pop() { if( Element.length() == 0) return nu ......