1、关于import:
(1) 使用 * 一次只能import 一个package的类,例如想要 import 包java.util中内容不能用
import java.*.*; 也不能企图通过这种方式:
import java.*; util.Date date = new Date();来引用
(2)static imports: 从JDK 5.0开始,可以用static方法来import 某个类的静态方法和静态常量。例如:
ImportTest.java
1 import java.util.*;
2 import static java.lang.System.*;
3 public class ImportTest
4 {
5 public static void main(String [] args)
6 {
7 Date date = new Date();
8 out.println(date);
9 }
10 }
static imports 的好处:例如:sqrt(pow(x, 2) + pow(y, 2))比
Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)) ;
if (d.get(DAY_OF_WEEK) == MONDAY) 比
if (d.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) 看起来要整洁,可读性也丝毫不会受影响~~
2、块作用域:(参考资料:《Java2 核心技术》)
(1)块(即符合语句)是指由一对花括号括起来的若干条简单的Java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。例如
TestBlock.java
1 public class TestBlock
2 {
3 public static void main(String [] args)
4 {
5 int n;
6 {
7 int k;
8 }//k 的作用域到此结束
9 }
10 } 注意k的作用域,在花括号外是不能再引用k的。
(2)不能在嵌套的两个块中声明同名变量。例如下面的代码编译时是通不过的:
TestBlock.java
public class TestBlock
{
public static void main(String [] args)
{
int n;
{
int k;
int n;//n不能再这里声明
}
}
} 但是这样是可以的:
TestBlock.java
public class TestBlock
{
public static void main(String [] args)
{
{
int k;
int n;
}
int n;
}
} 3、使用内部类(inner class)的动机:
- 内部类方法可以访问该类定义所在的作用域的数据,包括私有的数据
- 内部类可以对同一个包中的其它类隐藏起来
- 当想要定义一个回调函数且不想编写大量代码时使用匿名(anonymous)内部类比较便捷。(?)
4、只有内部类可以是私有类,常规类只能具有包的可见性或公有的可见性
5、JFrame 与JPane类的继承层次结构
6、有时候JFrame程序退出时为什么要调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)?
这是因为在包含多个程序框架的程序中,不能因为用户关闭了其中一个框架就让程序退出。在默认情况下用户关闭窗口时只是将框架隐藏了起来,而程序并没有终止。
7、封装了用户系统的各个元素的颜色的SystemColor类中的系统颜色和它们的含义:
System Colors
desktop | Background color of desktop |
activeCaption | Background color for captions |
activeCaptionText | Text color for captions |
activeCaptionBorder | Border color for caption text |
inactiveCaption | Background color for inactive captions |
inactiveCaptionText | Text color for inactive captions |
inactiveCaptionBorder | Border color for inactive captions |
window | Background for windows |
windowBorder | Color of window border frame |
windowText | Text color inside windows |
menu | Background for menus |
menuText | Text color for menus |
text | Background color for text |
textText | Text color for text |
textInactiveText | Text color for inactive controls |
textHighlight | Background color for highlighted text |
textHighlightText | Text color for highlighted text |
control | Background color for controls |
controlText | Text color for controls |
controlLtHighlight | Light highlight color for controls |
controlHighlight | Highlight color for controls |
controlShadow | Shadow color for controls |
controlDkShadow | Dark shadow color for controls |
scrollbar | Background color for scrollbars |
info | Background color for spot-help text |
infoText | Text color for spot-help
text |