内部类:
顾名思义就是把类放在某个范围的内部
类可以放在包中
类可以放在文件中,.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,那么此方法就在
任何测试方法前执行,一般做初始化工作