java扫盲
(1). java源文件:
<span style="font-size:18px;">Class_A.java文件
public class Class_A {
;
}
class B {
;
}
class C {
;
} </span>
一个java源代码文件(通常被称为编译单元)内可以有一个且只能有一个public类,该类的名称必须与文件的名称完全相同。这表示,每个编译单元都有单一的公共接口,用public类表现,该接口可以按要求包含众多的支持包访问权限的类。
而在编译单元内完全没有public类也是可能的,在这种情况下可以随意为文件命名。但是生成之后的*.class文件的名称是和class声明的类名称完全一致的,和文件名称无关。执行时候,也是执行 java + 类名称。
(2).编译结果:当编译一个.java文件时,在.java文件中的每个类都会有一个跟类名相同的.class输出文件。
(3). java关键字1(import):
用import关键字导入程序库,使之成为可用的单元。
不用import语句<较为繁琐>:实现在一个类中使用其他包的类时可以用全称来指定,如java.util.ArrayList(这样就不用import语句了),也可以仅指定为ArrayList(缘于import)。
注意:java.lang包中的类是默认导入的。
(4). java关键字2(package):
唯一标识每个类并分组,java使用了package(包)的概念
按照惯例,package名称的第一部分为类创建者的Internet域名的倒序,这样有利于包名的唯一性。
无论何时创建包,在指定包的名称的同时隐含的指定了目录结构。
注意:package 语句必须是文件中的第一行非注释的程序代码。
注意:同一个package,不同java文件的使用规则如下所示,
在同一个包下面(package learning),如果这个类是被public 、protected或default(没有修饰符)修饰的,那么是可以直接访问,不需要import的。<“java访问控制权限”>
(5).java 程序执行
java程序是从一个public类的main函数开始执行的,(其实是main线程),就像C程序是从main()函数开始执行一样.只能有一个public类是为了给类装载器提供方便。即:一个public 类只能定义在以它的类名为文件名的文件中。
下面举例说明:
0)当前路径下的测试文件:HelloWorld.java
1)HelloWorld.java文件内容
<span style="font-size:18px;">
package <u><strong><span style="color:#FF0000;">tony.TestJavaSamples</span></strong></u>;
import java.util.*;
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}</span>
2)编译java文件:javac -d . HelloWorld.java //自动在当前路径或任意指定路径下生成包层次:使用-d <directory>编译选项(即指定生成.class的路径)
3)编译后文件组织(多出了tony/TestJavaSamples/HelloWorld.class的相关包层目录以及编译文件)
4)执行可执行文件:java tony.TestJavaSamples.HelloWorld