Day11

内部类:

顾名思义就是把类放在某个范围的内部

类可以放在包中

类可以放在文件中,.java文件

类可以放在类中(类里套类)  内部类

类可以放在方法中(方法类套类)  内部类

 

1.类中放置内部类

要使用内部类就需要在外部类中实例化内部类的对象

然后用对象打点调用内部类中的方法

(可以再外部类中,调用内部类的私有方法和私有的属性)

通过内部类里的方法来操作内部类的数据,

在内部类中可以直接使用外部类中的所有的方法和属性

 

要使用内部类,可以在外部类的外面实例化内部类的对象

然后通过对象打点调用内部类的非私有的方法(在同一个包内)

 

2.方法类套类

要使用方法中的内部类,就必须在方法中,内部类定义的下面

实例化内部类的打点.然后通过内部类对象打点,调用内部类

中的属性和方法(包含私有的)

内部类的作用域仅限于当前方法

从内部类定义开始到方法结束,内部类的作用域就消失了

在内部类中可以直接使用外部类中的属性和当前方法中的局部变量

在外部类的外部不能使用外部类的方法中的内部类

 

3.匿名内部类:

是内部类,但没有类的名字,但有{属性和方法}

比如:

Person接口

//匿名内部类,但有对象名

Person p=new Person(){

Public void study(){

//具体的方法实现

}

Public void eat(){

//具体的方法实现

}

};

p.study();

p.eat();

//匿名内部类,但没有对象名

new Person(){

Public void study(){

//具体的方法实现

}

Public void eat(){

//具体的方法实现

}

}.study();

 

 

匿名内部类的特点:

当前匿名内部类中实现的方法,只能实现一次

如果还想要其他的实现.则必须用匿名内部类重新new实现

匿名内部类更适合提供长辈的方法的实现

而且实现只需要实现一次即可

 

匿名内部类跟有名内部类的区别:

1.匿名内部类的方法只能实现一次,对象也只有一个

有名内部类也是实现一次,但可以new很多的内部类对象

jar包:是java中的一种特殊压缩格式的包

jar包压缩的是class文件

把jar包提供给任何使用都可以

 

一般情况下jar包是由某个项目导出成一个jar,

并把jar包提供给需要的项目使用

导出步骤:

右键单击要导出的jar包的项目名称--export--java--jar file

--next--输入jar文件的存储路径和文件名---finish

导入jar包步骤:

右键单击需要的jar的项目名称--properties--java build path

--libraries--a.add external jar--选择本地硬盘中的某些jar

b.add library--eclipse中的自带的jar

--ok确定

项目可以依赖项目,也可以依赖jar包

 

单元测试:Junit java unit test java的单元测试

Junit是一个大家公认的且广泛使用的测试框架

测试的功能是由Junit框架提供的,要使用这个框架

就必须引出Junit测试框架的jar包

 

程序员需要测试程序员自己写方法是否正确,所有需要单元测试

单元测试的版本

Junit3

Junit4

Junit5

单元测试中的名词:

断言 assert:

断:断定,判定

言:动词,表达的意思

     名词,话语或语言的意思

断言就是能够清晰准确表达一个结果是正确的

 

Junit3:

测试类放在test源代码文件中(source folder)

测试类必须继承TestCase类

Junit.framework.TestCase

测试类中的名称,必须是test为开头方法

 比如:public void testMethod(){}

测试类中重写protected void setUp()方法

此方法是在执行任何一个测试方法的时候都要先调用setUp方法

setUp方法执行完毕后,才执行测试方法中的内容

setUp方法适合在执行测试方法前做初始化工作

Junit4:

测试类放在test源代码文件中(source folder)

在测试方法的前面添加一个注解@Test,测试方法命名任意

但建议以test开头的方法

 

如果在某个测试方法前添加一个注解@Before,那么此方法就在

任何测试方法前执行,一般做初始化工作


版权声明:本文为qq_45354936原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。