上一节在Java的界面例子程序中有BorderLayout.NORTH这样的引用。其实这个是Java定义的常量,是一个在程序中不会再变化的标识。

 

要看到这个BorderLayout.NORTH是如何定义的,需要打开BorderLayout类才可以看到。在Eclipse中直接按住Ctrl键再用鼠标点击这个类名就可以进入源码的类。同样,Ctrl鼠标点击.NORTH,也可以看到NORTH的定义,public static final String NORTH  = "North";这句就是NORTH,修饰符为static,类型为String,访问修饰符为public,另外还有一个final关键字,意思是永久的。一般来说Java程序中这种定义时就初始化了值,又用final修饰了,就是常量的定义。

 

常量是相对于变量而言的。常量的值规定好了,以后不必再给它赋值也最好不要改变它的值,所以用final修饰。因此,在Java程序中如果要保持某个引用的值不变,就用常量来定义。常量一般用类名加点号就可以使用了,所以常量定义为static最好,并且定义为public让外面的类可以直接访问。这样,就像BorderLayout.NORTH一样就可以引用这个常量的值了,比如filePanelToCreate.add(selectPanel, BorderLayout.NORTH);这里的引用。

 

为了给整个程序起个名字,可以给上一节的GzipTarToolViewer类定义一个常量。

 

public class GzipTarToolViewer {

public static final String APP_NAME = "GzipTarTool";

而在main()方法中就可以使用这个常量了。

 

public static void main(String[] args) {

JFrame frame = new JFrame(GzipTarToolViewer.APP_NAME);


如果是定义常量的类直接引用,不用类名加点也可以访问。比如JFrame frame = new JFrame(APP_NAME)这样。

Java中定义常量名和变量名有点不同,常量的名字一般为全部大写,比如APP_NAME。变量则是驼峰标识的名字,即首字母小写,变量中其它单词的首字母大写,比如frame。类名和变量名又不同,类名中所有单词的首字母都大写,包括类名的首字母,比如GzipTarToolViewer.java。

 

在上一节的程序中,还有几个常量。

JScrollPane textResultPane = new JScrollPane(displayInfo, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

这里的JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED以及JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED都是Java的API库里定义好的常量,值分别为int VERTICAL_SCROLLBAR_AS_NEEDED = 20和int HORIZONTAL_SCROLLBAR_AS_NEEDED = 30。

 

再看System.out.println()这个方法的System.out,也是用类名System直接加点号访问的out。在Eclipse中按Ctrl加鼠标点击.out,可以看到这个out也是一个定义好的常量。

public final static PrintStream out = null;

 

配套进阶****:

https://edu.csdn.net/combo/detail/938

 

Java中级SSH框架项目开发设计教程

Java自学之路-Java基础教程-43:Java的常量和final关键字

Java自学之路-Java基础教程-43:Java的常量和final关键字

 

 

具有OCR和ASR功能,可以识别图片和录音中文字,并有多国语言翻译功能,

可以作为便签或笔记,类似微博的图文应用

 

相关文章: