1.默认布局管理器
1.1 Java的Jframe和Jwindow的默认布局管理器为边界式布局管理器
1.2 而Jpanel的默认布局管理器是流式布局管理器
2.相对路径和绝对路径
绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
假如当前路径为c:\program files
要调用上述命令,则需要输入
..\windows\system32\cmd.exe
其中,..为父目录。
当前路径如果为c:\program files\common files
则需要输入
..\..\windows\system32\cmd.exe
另外,还有一种不包含盘符的特殊绝对路径,形如
\windows\system32\cmd.exe
无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。
3. . , ./ , .. , ../
3.1 . 表示当前目录
3.2 ..表示当前目录的上一级目录
3.3 ./表示当前目录的某个文件和文件夹
3.4 ../表示当前目录的上一级目录的文件和文件夹
4.this的三种用法
4.1代指当前对象
4.2作为参数传递
4.3内部类和匿名类使用外部类的成员和方法,应写成外部类.this.变量
5.静态变量
静态变量在定义时用static修饰,静态变量如果不是私有的就可以在类的外部访问,此时不需创建类的实例对象,只需类名就可以引用。
静态变量的使用格式有如下两种:
类名.静态变量名
对象名.静态变量名
6.权限修饰符
权限修饰符有四个,权限由高到低依次是public、protect、default、private
访问权限类包子类其他包
public∨∨∨∨
protect∨∨∨×
default∨∨××
private∨×××
7.内部类
7.1 定义
在一个类的内部的类我们就叫内部类。
7.2作用
7.2.1内部类可以很好的实现隐藏
一般的非内部类,是不允许有private与protected权限的,但内部类可以
7.2.2内部类拥有外围类的所有元素的访问权限
7.2.3可以实现多重继承
7.2.4可以避免修改接口而实现同一个类中两种同名方法的调用。
主要作用:把逻辑上相关的类放到一起。
8.匿名内部类
8.1 定义
匿名内部类就是没有名字的内部类。
8.2如果满足下面的一些条件,使用匿名内部类是比较合适的:
8.2.1只用到类的一个实例。
8.2.2类在定义后马上用到。
8.2.3类非常小(SUN推荐是在4行代码以下)
8.2.4给类命名并不会导致你的代码更容易被理解。
在使用匿名内部类时,要记住以下几个原则:
匿名内部类不能有构造方法。
匿名内部类不能定义任何静态成员、方法和类。
匿名内部类不能是public,protected,private,static。
只能创建匿名内部类的一个实例。
·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。
·因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。
用匿名内部类创建多线程有两种方式,和创建一个线程是一样的。
第①种继承Thread:
new Thread(){
public void run(){
//do something
};
}.start();
第②种实现 Runnable接口:
new Thread(new Runnable() {
public void run() {
//do something
};
}) { }.start();
9.条件运算符 max=a>b?a:b
Max的意思是a,b之中的较大值。
10.随机数方法
random本身的范围是[0,1)
11.i++和++i
i++先执行i的运算后++,即先运算后赋值
++i为先赋值,后执行关于i的运算
12.
12.1双if语句和ifelse语句之间的区别
双if语句每个都要判断,相互之间没有影响
if…else if语句中if和else if之间是有联系的,当不满足if中的条件的时候,就去执行elseif,如果if中的条件已经满足了,就不会再去判断elseif中的条件了
12.2 swicth(表达式),表达式的值必须是整型或字符类,最后的default分支的语句序列,在default分支不存在的情况下,则跳出整个switch语句,在每个case语句后要用break退出switch。
12.3 while和do…while
While循环开始后,先判断条件是否满足,如果满足则执行循环体内的语句。
Do…while 它先执行循环中的语句,再判断条件表达式是否为真,如果为真则继续循环;如果为假,则结束循环。
13.重载和重写
13.1 方法重载是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或者是参数类型不能完全相同。
13.2 方法重写是存在于子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型
注意:子类中不能重写父类里面的final方法
子类中必须重写父类中的abstract方法
14.equals和==的区别
14.1 对于==
如果作用于基本数据类型的变量,则直接比较其存储的“值”是否相等
如果作用于引用类型的变量,则比较的是所指向的对象的地址
14.2对于equals方法
注意:equals方法不能作用于基本数据类型的变量
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。
15.转义符的使用
\f换行
\b退格
\n换行
\r回车
\t横向跳格
\\反斜线字符,输出一个反斜杠
\'单引号字符,输出一个单引号
\"双引号字符
16.break,continue,return
16.1 break用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
16.2 continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全中止循环。
16.3 return关键字并不是专门用于跳出循环的,return的功能是结束一个方法。 一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
17.抽象方法和抽象类的关系
抽象方法是指没有方法体的方法,它为该类的子类定义了一个方法的接口标准。
抽象类里不一定有抽象方法,但有抽象方法的类一定是抽象类。
注意:抽象类是需要被继承的,所以abstract类不能被fianl来修饰,一个类不能既是最终类,又是抽象类。
18.接口可以实现类的多重继承。接口中的方法必须全部都声明为abstract,接口只能有抽象方法,不能有一般方法。
19.Java程序在执行父类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中没有参数的构造方法,其目的是为了帮助继承父类的成员做初始化操作。
20.this()和super()
this()是在同一类调用其他构造方法
super()则是从子类的构造方法调用父类的构造方法
21. Java多线程实现的四种方式
Java多线程实现方式主要有四种:
继承Thread类
实现Runnable接口
实现Callable接口通过FutureTask包装器来创建Thread线程
使用ExecutorService、Callable、Future实现有返回结果的多线程。
其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。
Run方法规定了要执行的任务,但一般不是直接调用,线程执行是从run方法执行
Run方法,而是通过线程的start方法来启动线程。
http://www.cnblogs.com/felixzh/p/6036074.html%20
22. Java实现监听的四种方式
1.自身类
2.匿名内部类
3.内部类
4.外部类
http://www.cnblogs.com/freinds/p/8973140.html%20
23.事件源类型是object类型
24.逻辑运算符
Java中的逻辑运算符“|”和“&”与“||”和“&&”的用法
1.使用规则:
(1)& 可以用作逻辑与的运算符,表示逻辑与(and)
a、当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false
b、无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断
(2)&& 可以用作逻辑与的运算符,表示逻辑与(and)
a、当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false
b、第一个条件不成立,后面的条件均不进行判断,返回false
(3)| 可以作逻辑或运算符,表示逻辑或(or)
a、当运算符有一边为true时,整个运算结果为true
b、无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断
(4)|| 可以作逻辑或运算符,表示逻辑或(or)
a、当运算符有一边为true时,整个运算结果为true
b、第一个条件成立,后面的条件均不进行判断,返回true
2.使用案例:
String s = null;
1. if((s!=null)&(s.length()>0)){}
2. if((s!=null)&&(s.length()>0)){}
3. if((s==null)|(s.length()==0)){}
4. if((s==null)||(s.length()==0)){}
上述案例在java运行情况中,1,3均抛出NullPointerException异常。
25.Java中对话框里的参数代表什么意思
Void showMessageDialog(Component parentComponent,Object message,String title,int messageType)
1.parentComponent是控制弹出对话框相对的中心位置,如果是null,则是在屏幕中间,如果是其它组件参数,则会在其它组件的中心弹出
null———当前电脑显示器屏幕的中央。
this———当前你编写的程序屏幕中央
2.message是指定对话框上显示的消息
3.title是指定对话框标题栏中显示的字符串
4.messageType用于确定对话框的外观比如错误消息,信息消息,警告消息,问题消息和任意消息等。
网友评论