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

java学习日志(二)

2013-05-11 11:21 113 查看
1:Java不同包中的类如何互相引用?所谓的全名是什么,是所在的文件夹还是其他什么?

包名+类名:
比如java.util.Date。
java.util就是包名。Date就是类名。
如果你在类文件最前面加上
import java.util.Date.
就可以在类文件中直接用Date了。
文件夹其实就是包,比如java.util.Date。
那Date的源文件应该就在src/java/util中。
上面举例的这个类是系统本身提供的,无需源文件。




解决:The declared package..does not match the expected package..

包名必须在程序中通过package语句来指定(例如 package org.it),而不是单纯的靠目录结构来指定,是先有了包名之后,才需要相应的目录结构。这是实际上的类名为org.it315.classname。必须把包声明放在源文件最前面,并且每个源文件最多只能声明一个包(最好要声明包,养成良好的编码风格和习惯)。

如文件TestPackage.java,源码如下:

package org.it;
public class TestPackage

{

public static void main(String[] args)

{

System.out.println("Test use package");

}

}

假设其位于目录是:E:\eclipse\webEclipse\testproject\src\org\it

在dos下直接进行:

编译: E:\eclipse\webEclipse\testproject\src\org\it>javac TestPackage生成TestPackage.class文件位于E:\eclipse\webEclipse\testproject\src\org\it\目录下。

运行: E:\eclipse\webEclipse\testproject\src>java org.it.TestPackage得到正确输出结果。

一定要注意此处路径问题。另外,package的名字和结构必须和相关的目录名一致,包括大小写也要一致。但是在Eclipse中,由于一般是先新建包,eclipse创建package的时候自动帮你创建了目录了,所以不会不一致。Eclipse会在对应testproject\bin目录下生成org\it\目录,并且在org\it\目录下生成TestPackage.class文件,但是实际上此class的名称为org.it.TestPackage.class。当然,在Eclipse中可以直接运行,但是在dos命令下,一定要注意实质上的编译和运行实际路径和类名等问题。

实例代码:





2:java的字符串内容要用双引号。bug:The method addActionListener(ActionListener) in the type AbstractButton
is not applicable for the arguments
FIX:import java.awt.event.ActionEvent;改为import java.awt.event.*;没导入ActionListener接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: