基本上是学习java过程中的存档
class:
也就是类,在如下语句中的 HelloWorld就是类名
public class HelloWorld{
}
class的声明语法为:[修饰符] class 类名 {}
修饰符:(用来设置访问权限)
public是修饰符之一,它的作用是:
①声明该类是当前源代码文件中的主类(一个源代码文件中可以定义多个类,但只能有一个主类)
主类要与源文件的命名完全一致,负责无法运行
运行javac后编译出来的类文件(以.class为后缀的文件)的名称与源代码中定义的类名一致
定义了多少类就会有多少.class文件生成
注意:
若是无法得知源代码中是否存在类/主类,源代码中就有可能没有任何类或是有无数个类
所以编译输出的文件数量无法确定,文件名称也无法确定;
若已知源代码中存在主类(public前缀的类),则至少有一个与主类同名的文件被生成
②声明该类是公共的
package:
如果说类是文件,那么包就相当于文件夹
定义了包之后,类的名称发生了改变
于是类名的书写又分为以下两种情况:
①简略类名:源代码中class关键字后面的名称
②完全类名:包名.类名
定义包之后类就无法像之前那样被加载了,需将类放入对应的文件夹中才能被找到
可以使用“javac -d . ”进行编译,就能够生成对应的目录结构,指定将包和类输出到什么地方
例:
E:\java>java Demo
错误: 找不到或无法加载主类 Demo
E:\java>java com.test.Demo
错误: 找不到或无法加载主类 com.briup.test.Demo
E:\java>javac -d . Demo.java
E:\java>
import首先来看一个例子:
package com.test;
public class Demo{
public static void main(String[] args){
System.out.println("Hello,Demo");
java.util.Date d = new java.util.Date();
System.out.println(d);
}
}
其中java.util.Date必须输入完全类名,否则会发生“找不到字符”错误
输入完全类名这一行为过于繁琐,我们使用import将某个其他包下的类暂时引入当前命名空间中
如下:
package com.briup.test;
import java.util.Date;
public class Demo{
public static void main(String[] args){
System.out.println("Hello,Demo");
Date d = new Date();
System.out.println(d);
}
}
如果引入同一包中不同的类非常频繁,则可以直接写import java.util.*,以表示引用该包下的所有类
class,package,import为三大顶级元素
这三个顶级元素都可以不存在,存在时需要按照package→import→class的顺序去定义