2019.07.10(day10)
●内部类:
就是把某个类放在某个范围的内部
类可以放在包中
类可以放在文件中 .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实现
匿名类更适合实现长辈提供的方法,而且只需要实现一次即可
匿名内部类和有名内部类的区别:
匿名内部类的方法只能实现一次,对象也只有一个
有名内部类的方法也是实现一次,但可以new很多的内部类对象
●jar包:
是java中的特殊的一种压缩格式的包
jar包中压缩的是class文件
把jar包提供给任何人使用都可以
一般情况下jar包是由某个项目导出成的一个jar,并把jar包提供给需要的项目使用
导出jar包的步骤:
右击单击要导出jar包的项目名称--export--java--jar file--next--输入jar文件名--finish
导入jar包的步骤:
右击单击要导出jar包的项目名称--properties--java build path--libraries--
a.add external jar--选择本地硬盘中的某个jar--ok确定
b.add library--eclipse中自带的jar--ok确定
项目可以依赖项目,也可以依赖jar包
●单元测试(junit):
junit就是一个大家公认的且广泛使用的测试框架
程序员需要测试程序员自己写的方法是否正确,所以需要单元测试
测试的功能是由junit框架提供的,要使用这个框架就必须引出junit测试框架的jar包
单元测试的版本:
junit3
junit4
junit5
单元测试中的名词:
断言 assert:
断:断点,判定
言:动词,表达的意思
名词,话语或语言的意思
断言就是能够清晰准确的表达一个结果是正确的
junit3:
测试类放在test源代码文件夹中(source folder)
测试类必须继承自TestCase类
junit.frankwork.TestCase
测试类中的方法名,必须是test为开头方法
比如:public void testMethod(){}
测试类中重写protected void setUp()方法
此方法是在执行任何一个测试方法的时候都要先调用SetUP方法
setUp方法执行完毕后,才执行测试方法中的内容
setUp方法适合在执行测试方法前做初始化工作
junit4:
测试类放在test源代码文件夹中(source folder)
在测试方法的前面添加一个注解@Test注解,测试方法命名任意
但建议以test开头的方法
如果在某个测试方法前添加一个注解@before,那么次方法就在
任何测试方法执行前执行,一般做初始化工作