登录
注册
论坛
个人空间
搜索
帮助
会员
界面
简洁版本
在线
TestFocus焦点测试论坛
测试相关技术
软件开发
有一起学java的吗?
帖子标题
测试人生
新手上路
职业发展
招聘求职
软件测试专区
软件测试管理
软件性能测试
软件自动化测试
软件功能测试
测试工具交流
HP-Mercury软件测试工具
其他相关工具
软件测试培训专区
培训交流区
金智软件专区
金智软件交流与讨论
金智软件错误反馈
测试相关技术
软件开发
中间件
操作系统
数据库
休闲一下
灌水乐园
站务交流版
投诉建议区
站务公告区
焦点测试软件测试培训 未就业100%退款
金智知识库管理系统免费下载试用
软件测试学习流程下载
新主题、最热帖、新回复Top 20
3
/ 4 页
1
2
3
4
跳转
页
查看:
13735
标题: 有一起学java的吗?
newmyh
个人空间
组别:
版主
性别:
来自:
积分:
54
帖子:
54
注册:
2007-04-24
2007-07-02 17:18
|
只看楼主
树型
|
收藏
|
小
中
大
21
回复: 有一起学java的吗?
好,有一票了.起码不是无人问津了.
发送短消息
查看公共资料
查找该会员全部帖子
UID:
32
精华:
0
威望:
0
金币:
187 元
状态:
离线
以今天的名义
个人空间
组别:
管理员
性别:
来自:
积分:
285
帖子:
257
注册:
2007-04-20
2007-07-03 09:16
|
树型
|
收藏
|
小
中
大
22
回复:有一起学java的吗?
楼主有段时间没发新知识了,加油啊
TestFocus焦点测试网
助力软件测试行业,推动软件测试发展
发送短消息
查看公共资料
查找该会员全部帖子
UID:
10
精华:
4
威望:
8
金币:
443.75 元
状态:
离线
newmyh
个人空间
组别:
版主
性别:
来自:
积分:
54
帖子:
54
注册:
2007-04-24
2007-07-03 16:14
|
只看楼主
树型
|
收藏
|
小
中
大
23
回复:有一起学java的吗?
实在不好意思,这段时间忙自己的事去了,这周末一定发,还要多发点.
奇怪的事,到现在为止,没人提问题,也没人和我邮件联系过.难道大家都没有问题吗?要知道我几年前学java时,可是一大队问题没人可以问.痛苦啊
发送短消息
查看公共资料
查找该会员全部帖子
UID:
32
精华:
0
威望:
0
金币:
187 元
状态:
离线
newmyh
个人空间
组别:
版主
性别:
来自:
积分:
54
帖子:
54
注册:
2007-04-24
2007-07-12 17:45
|
只看楼主
树型
|
收藏
|
小
中
大
24
回复:有一起学java的吗?
不是我违背诺言,第一,我好几天上不来这个论坛,听说是服务器有问题.
第二,我家硬盘坏了,这几天我一直在重复开机-关机-重启.很惨!
明天,我要修机器,再发文.
就算没人看,我也要把它发完,也是为了对自己的督促.
发送短消息
查看公共资料
查找该会员全部帖子
UID:
32
精华:
0
威望:
0
金币:
187 元
状态:
离线
以今天的名义
个人空间
组别:
管理员
性别:
来自:
积分:
285
帖子:
257
注册:
2007-04-20
2007-07-13 10:44
|
树型
|
收藏
|
小
中
大
25
回复:有一起学java的吗?
对楼主的学习态度表示感谢和钦佩,希望楼主能坚持下去。
楼主什么时候上不来的?我们服务器是没问题的,但用的是网通的线路,偶尔会断,我们在内网有时候发现不了,如果比较频繁的话我们会想办法解决
TestFocus焦点测试网
助力软件测试行业,推动软件测试发展
发送短消息
查看公共资料
查找该会员全部帖子
UID:
10
精华:
4
威望:
8
金币:
443.75 元
状态:
离线
newmyh
个人空间
组别:
版主
性别:
来自:
积分:
54
帖子:
54
注册:
2007-04-24
2007-07-13 23:37
|
只看楼主
树型
|
收藏
|
小
中
大
26
回复: 有一起学java的吗?
6
初始化和清除
初始化和清除是程序设计安全性的二个重要方面。
6.1
定义初始化:
在定义一个成员同时可以进行初始化,同时可以调有函数,可以用变量(前面的)。完成于构造函数之前。
初始化块相当于一条定义初始化语句。
class MeasureMent(){
boolean b=true;
char c=’x’;
int i=47;
}
class MeasureMent(){
Depth o = new Depth();
}
可以调用一个方法进行初始化。
class CInit(){
int i = f();
}
这个方法也可以调用参数。
class CInit(){
int i = f();
int k = g(i);
//
按你的写书顺序,后面出现的变量可以使用前面的变量来初始化。
}
但是那些参数不能是尚未初始化的其它数据成员。
6.2
初始化顺序:
在一个类里,初始化的顺是由变量在类内的定义顺序决定的。但都在构造函数之前。
3.1
在采取其它任何操作之前,为对象分配的存储空间初始化成二进制。
3.2
调用基础类构造器。
3.3
按照原先声明的顺序调用成员初始化代码。
3.4
调用衍生类构造器的主体。
6.3
静态数据初始化:
静态的东西属于类
静态数据成员只在这个类的第一个对象要创建时初始化。
Class Cups{
Static{
/*
静态初始化块,相当于一条静态初始化语句
*/
}
}
静态成员对象
-
à
非静态成员、对象
---
à
构造器
1、
类型为
Dog
的一个对象首次创建时,或者
Dog
类的静态方法
/
数据首次访问时,
java
解释器必须找到
Dog.class
。
2、
找到
Dog.class
后,它的所有的静态初始化模块都会运行。因为,静态初始化仅发生一次。
3、
创建一个
new Dog()
时,
new
语句首先会在堆内分配一个足够多的空间。
4、
这个空间将会被清除为
0
,因此
Dog
中所有数据成员对象都得到缺省值。
5、
执行定义初始化。
6、
执行构造函数。
6.4
带有继承关系的初始化顺序:
1、
先装载父类的
static
成员。
2、
装载子类的
static
成员。
3、
初始化父类的成员,构造函数。
4、
再初始化子类的成员,构造函数。
今天发的不太多,明后天如有时间再补一些。
今天心中很闷,觉得很受打击。很想有人安慰。和开发人员打交道就那么难吗?为什么开发人员会那么轻视测试人员?其实我从开发转过来的,对二边的工作都很理解。测试人员是很想和开发人员打好交道的,往往是开发人员不太理会。唉......
发送短消息
查看公共资料
查找该会员全部帖子
UID:
32
精华:
0
威望:
0
金币:
187 元
状态:
离线
wangkunkevin
小昆
个人空间
组别:
版主
性别:
来自:
积分:
183
帖子:
162
注册:
2007-04-17
2007-07-23 10:50
|
树型
|
收藏
|
小
中
大
27
回复:有一起学java的吗?
楼主家电脑硬盘磁道坏了,暂时发不成了...
不是我,是风
发送短消息
查看公共资料
查找该会员全部帖子
UID:
7
精华:
3
威望:
6
金币:
305.3 元
状态:
离线
52549238
newmyh
个人空间
组别:
版主
性别:
来自:
积分:
54
帖子:
54
注册:
2007-04-24
2007-08-13 11:03
|
只看楼主
树型
|
收藏
|
小
中
大
28
回复: 有一起学java的吗?
硬盘终于修好了,数据也救回来了,庆幸中......
我现在知道备份的重要性了。
昨晚准备继续发帖的,但上不了bbs.听说网又坏了。这该死的网。今晚再发吧。
发送短消息
查看公共资料
查找该会员全部帖子
UID:
32
精华:
0
威望:
0
金币:
187 元
状态:
离线
newmyh
个人空间
组别:
版主
性别:
来自:
积分:
54
帖子:
54
注册:
2007-04-24
2007-08-14 21:32
|
只看楼主
树型
|
收藏
|
小
中
大
29
回复: 有一起学java的吗?
今天go on
11
异常与出错处理
能否正确处理好运行时刻的异常情况是一个程序的健康标志。
1/3
正常语句
+ 2/3
异常处理语句
11.1Exception
机制
使用异常机制,读、写和调试代码变得清晰。它把处理错误的代码和正常的代码分开。
Throw an exception
(
exception
的子类)
throw new NullPointerException();
throw new NullPointerException(“HERE”);
异常发生时,你不能解决问题,所以必须扔出一个异常。
1、
一个异常对象建立起来了。
2、
当前运行的路径被停止(
throw
所在的
scope
被中止),异常对象被弹出。
3、
异常处理机制接管,开始寻找一个合适的地方来继续执行。
11.2Catch an exception
Java
的异常处理机制的好处就在于它使我们在一个地方将精力集中在要解决的问题上,而在另一个地方处理来自那部分代码的异常情况。
try{
}catch(Type1 id1){
}catch(Type2 id2){
}
catch
捕捉到异常并处理后,不再返回到
try
语句,而是执行
try-catch
后面的语句。
工作情况:
1、
try{
throw new NULLPointerException;
…
}catch(NULLPointerException e){
}
throw
所在的
scope
被中止,即
try{}
语句被中止,
throw
后面的语句不会被执行,要离开这个
scope
。
要离开这个
scope
,并且这个
scope
是
try,
而且
tryp
后面的
catch
能捕捉到这个异常,这个异常就会被处理。再接着执行
catch
后面的语句。
2、
try{
f();
}catch(NULLPointerException e){
}
f(){
throw new NULLPointerException;
….
}
在调用
f
函数时,
f
函数执行中抛出了异常,
f
函数里
throw
下面的语句不被执行,并且要离开
throw
所在的
scope
。现在
throw
是在
f
函数中,离开函数就相当于回到调用
f
函数的地方。就相当于在
f();
的地方
throw
了一个
exception
。
f();
函数之后的语句不执行
,
并且要离开这个
scope
,并且这个
scope
是个
try,
接下来看这个
try
之后的
catch
能不能捕捉到这个
catch
。能捕捉到就执行这个
catch
之后的语句,并不回到
try
里面去。
3、
try{
f();
}catch(NULLPointerException e){
}
f(){
if (b){
throw new NULLPointerException;
….
}
}
if(b)
里的
throw
抛出一个异常,抛出后,就要离开这个
scope
,这个
scope
并不是
try
,再往上一层,(离开
if(b)….
离开
f()….
)
一层一层离开,直到有
try
的地方。如果一直到
main
都没有
try
,就是离开
main
,程序就中止了。
throw
执出的
exception
一定要踫到一个
try
才会有意义。
可以有多个
catch
,意味着一个
try
可能抛出多个异常。
Catch
的匹配按书写顺序。一旦有一个
catch
匹配到了,执行完
catch
里的语句后,后面的
catch
就不管了。
如果
try
里抛出的异常没有
catch
来匹配,则整个
try-catch
变成一个
throw
,继续往外抛。回到上一个
scope
里去。
try-catch
可以嵌套。
11.3try-catch
的匹配不是精确匹配
有代码如下:
class Annoyance extends Exception{}
class Sneeze extends Annoyance{}
public class Human{
public void static main(string args[]){
try{
throw new Sneeze();
}catch(Annoyance
a){
System.out.println(“catch annoyance”);
}catch(Sneeze s){
System.out.println(“catch sneeze”);
}
}
}
在这里
try
中抛出的
sneeze
异常,会被谁捕捉到?当它遇到第一个
catch
时就被捕获了(因为
sneeze
是
annoyance
的类型),第二个
catch
就不再执行了。
可见
catch
的匹配不是精确匹配,只要满足这个对象是那个类的对象就可以了。
因此,可以写一个捕捉器捕捉到所有的异常,如下:
一个捕捉任何异常的捕捉器是一个捕捉基础类型异常的捕捉器。
Catch(Exception e){
}
如果你的第一个
catch
就是这个的话,余下的所有
catch
将不再被执行。
11.4Interface: Throwable
Exception
类实现了一个接口。有以下重要的函数:
String
getMessage();
这个异常对象里的
message.(
当你
new
一个异常时可以给它一个
message)
String
toString(); java
里所有的对象都有这个方法,给你这个对象的字符串表达。在这里是给出这个异常的全名。
Void printStackTrace();
这个异常在什么地方被抛出来的。(一直可追踪到
main
)
Void printStackTrace(PrintStream);
Re_throw:
在
catch
中还可以再抛出异常。
Catch(Exception e){
Throw e;
}
有代码如下:
public static void f() throw Exception{
throw new Exception(“throw from f”)
}
public static void g() throw Exception{
try{
f();
}catch(Exception e){
e.printStackTrace();
//
这个异常是由
f();
抛出的
throw e;
//throw e.fillInStackTrace();
记住当前的
stack trace,
填入一个
stack trace
信处。
}
}
public static void main(string args[]) throws Exception{
try{
g();
}catch(Exception e){
e.printStackTrace();
}
}
现在问题是,在
main
中调用
g();
之后
e.printStackTrace();
会打印出什么?异常是从
f()
抛出的还是
g()
抛出的?
运行后可知,
from f
à
from g
à
from main
若想要改变此信息,可使用
fillInStackTrace();
可以抛出一个与接收到的异常不同的异常。
11.5 Announce for exceptin
通知客户程序员自己写的方法可能抛出的异常是一种文明的做法。
Void f() throws tooBig,smallBig{}
如果你要从你的程序中抛出某种异常,必须要申明。
(
强迫你申明你要抛出的异常,包括调用的其它的函数所抛出的异常。除非你对异常做了处理。
)
但是你可以撒谎申明你并不真正抛出的异常。(可以预先做好对异常的处理,以后再来加上异常。)
11.6 override
时的异常限制
当你
override
一个方法时,你只能申明和抛出不比它的父类申明的异常多的异常。
Class A extends Exception{ }
Class B extends A{ }
Abstract class I(){
I() throws A;
Void fevent() throws A;
Void gent() throws B;
Void hent();
}
class c extends Exception(){}
class D extends B{}
interface II {
void fevent() throws c;
}
class cc extends I implements II{
cc() throws A,C;
//CC
的构造函数必须申明它的父类所抛出的异常,还可以抛出自己的异常。
hent() throws A; //
这是不对的,子类的方法不能抛出比它父类更多的异常。
Gent() throws D; //
这是对的,因为
D
是
B
的子类。
Fevent() throws C;
//
这是不对的。子类的
fevent
有二个来源,
I
和
II
,它们抛出的异常是
A
和
C
,作为它们的子类,它所能抛出的异常应该是
A
和
C
的交集,这里是空集。
}
11.7 finally
异常机制中一定会被执行的代码。
Try{
}catch(){
}finally{
}
只要你进了
try
,不管你是如何离开的,一定会到
finally
里来执行它的代码。
进入
try
离开有三种情况:
1、
没有异常发生
(finally
的代码要执行
)
2、
有异常发生并捕捉到了
(finally
的代码要执行
)
3、
有异常发生没有捕捉到。
(
离开之前要先执行
finally
里的代码
)
11.8 run-time exception
run-time exception
不需要主动
throw
run-time exception
不需要申明
如果一个
run-time exception
被系统
throw
后没有被
catch
,会导致程序终止,并
printStackTrace().
发送短消息
查看公共资料
查找该会员全部帖子
UID:
32
精华:
0
威望:
0
金币:
187 元
状态:
离线
newmyh
个人空间
组别:
版主
性别:
来自:
积分:
54
帖子:
54
注册:
2007-04-24
2007-08-17 18:03
|
只看楼主
树型
|
收藏
|
小
中
大
30
回复:有一起学java的吗?
这个周未不发新帖了,有事。
没有人回帖吗?太伤心了。:'(
发送短消息
查看公共资料
查找该会员全部帖子
UID:
32
精华:
0
威望:
0
金币:
187 元
状态:
离线
<<
上一主题
|
下一主题
>>
3
/ 4 页
1
2
3
4
跳转
页
论坛跳转...
测试人生
新手上路
职业发展
招聘求职
软件测试专区
软件测试管理
软件性能测试
软件自动化测试
软件功能测试
测试工具交流
HP-Mercury软件测试工具
其他相关工具
软件测试培训专区
培训交流区
性能测试
功能测试
测试管理
自动化测试
学员交流区
金智软件专区
金智软件交流与讨论
金智软件错误反馈
测试相关技术
软件开发
中间件
操作系统
数据库
休闲一下
灌水乐园
站务交流版
投诉建议区
站务公告区
焦点测试软件测试培训 未就业100%退款
焦点测试软件测试培训 未就业100%退款
焦点测试软件测试培训 未就业100%退款
焦点测试软件测试培训 未就业100%退款
焦点测试软件测试培训 未就业100%退款
焦点测试软件测试培训 未就业100%退款
我的主题
我的帖子
我的精华
我的空间
帖子标题
空间日志
相册标题
作 者