关于java的classpath问题
package、import
的相关问题是java中的一个不大不小的问题,但classpath问题却是java的一个著名的难题。今晚得闲研究了一下,在这里将我的研究成果跟各位
朋友分享一下。由于同包的情况很简单,所以这里就不讨论同包情况,只讨论不同包和不同路径的情况。为了能让读者更容易理解,我这里以举例的方式来说明问
题。
假设在路径E:\share下写了两个类,它们分别是Book.java和Paper.java,代码如下:
Book.java
:
package p1;
public class Book {
public static void main(String[] args) {
p2.Paper p = new
p2.Paper(); //line 5
p.helloworld();
}
}
Paper.java
:
package p2;
public class Paper {
public
void helloworld(){
System.out.println("HelloWorld");
}
}
Book类和Paper是
位于同一路径(E:\share)下的,但他们不同包
。那
么,我们应该如果运行Book呢?正确的流程如下:
1、打开cmd,进入E:\share路径下;
2、编译Paper类:javac Paper.java,
编译Book类:javac Book.java;
3、在E:\share下新建两个包p1,p2,将编译所得的两个类文件Book.class和Paper.class分别放入p1和p2中,这一步非常
关键;
4、运行Book类:java p1.book.java;
可以看到运行结果:HelloWorld。这说明已经正确运行了Book类。
回头看一下Book.java类,标记line
5那行创建了一个Paper类的对象p,但创建时稍微有一麻烦,因为Paper类要写全包名,如果包名很长的话,既不直观又麻烦。所以,java提供了
import关键字,它的作用是将其它包的类导入到当前类里。上面的Book.java可以这样写:
Book.java
:
package p1;
import p2.Paper; //line 2
public class Book {
public static void main(String[] args) {
Paper p = new Paper(); //line 5
p.helloworld();
}
}
在line 2导入Paper类,line 5创建Paper对象时就不用写全包名了。这时Book类运行的方式还跟上面的
相关文档:
List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1 List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......
关于绝对路径和相对路径:
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表W ......
整理关于java的String
类,equals函数和比较操作符的区别
初学 Java
有段时间了,感觉似乎开始入了门,有了点儿感觉但是发现很多困惑和疑问而且均来自于最基础的知识折腾了一阵子又查了查书,终于对 String
这个特殊的对象有了点感悟大家先来看看一段奇怪的程序:
public class TestString { ......
class User {
String name;
String age;
public User(String name,String age){
this.name=name;
this.age=age;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(St ......
JAVA Socket超时浅析
套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听&rdquo ......