包和内部类
在Eclipse中创建包的步骤如下:
(1)在项目的src节点上右击,选择“新建”/“包”命令。
(2)弹出“新建Java包”对话框,在“名称”文本框中输入新建的包名,如com.mr,然后单击“完成”按钮。
3)在Eclipse中创建类时,可以在新建立的包上右击,选择“新建”命令,这样新建的类会默认保存在该包中。另外也可以在New Java Class对话框中 指定新建类所在的包。
在类中定义包名的语法如下:
package包名
注意:Java包的命名规则是全部使用小写字母
8.1.1类名冲突
Java中每个接口或类都来自不同的类包,无论是Java API中的类与接口还是自定义的类与接口,都需要属于某一个类包,这个类包含了一些类和接口。
8.1.2完整的类路径
编写Java程序经常用到String类,其实String类并不是它的完整名称,就如同一个人需要有名有姓一样
例如,在程序中使用两个不同Date类的完整类路径,可以使用如下代码:
java.util.Date date = new java.util.Date();
java.sql.Date date2 = new java.sql.Date(1000);
同一个中的类相互访问时,可以不指定包名
8.4.1导入包
1、使用import关键字导入包
import关键字的语法如下:
import com.mr.*;//导入com.mr包中的所有类
import com.mr.Math//导入com.mr包中的Math类
2、使用import导入静态成员
使用import导入静态成员 的语法如下:
import static 静态成员
例题:使用import导入静态成员
8.2内部类
在一个文件中定义两个类,则其中任何一个类都不在另一个类的内部。
8.2.1成员内部类
1、成员内部类简介
在一个类中使用内部类,可以在内部类中直接存取其所在类的私有成员变量。成员内部类的语法如下:
class OuterClass{//外部类
class InnerClass{//内部类
}
}
例题:使用成员内部类模拟发动机点火
例题2: 使用this关键字获取内部类与外部类的引用
8.2.2匿名内部类
匿名类是只在创建对象时才会编写类体的一种写法。其语法如下:
new 父类/父接口(){
子类实现的内容
};
【例8.5】使用匿名内部类创建一个抽象狗类的对象