一、Java类包
Java中每个接口或类都来自不同的类名,无论是Java API中的类与接口还是自定义的类与接口,都需要隶属于某一个类包。
2.复制路径到文件夹中查找
3.查找后,可以看见在Eclipse里的Java代码,选择一个项目,打开src
4.新建一个项目,在里面创建一个包,右击选择package
5.然后回到文件夹,可以看到创建的包
6.同时创建包并在包里创建一个类
7.创建包,存储域名
8.在创建包存储域名时,把域名一次性打上去
9.不能同时创包并在包里创建类文件
10.内部类
- 成员内部类
在一个类中使用内部类,可以在内部类中直接存取其所在类的私有成员变量,语法如下:
class OuteruClass{//外部类
class InnerClass{//内部类
}
例题8.3
-
public class Car { //创建汽车类
-
//成员变量
-
private String brand; //汽车品牌
-
public Car(String brand) { //汽车类的构造方法,参数为汽车品牌
-
this.brand = brand; //给汽车品牌赋值
-
}
-
//成员内部类
-
class Engine{ //发动机类(内部类)
-
//成员变量
-
String model; //发动机型号
-
//构造方法
-
public Engine(String model) { //发动机类的构造方法,参数为发动机型号
-
this.model = model; //给发动机型号赋值
-
}
-
//成员方法
-
public void ignite() { //(发动机)点火方式
-
System.out.println("发动机"+this.model+"点火");
-
}
-
}
-
public void start() { //启动(汽车)方法
-
System.out.println("启动"+this.brand);
-
}
-
public static void main(String[]args) {
-
Car car =new Car("大众郎行");
-
car.start();
-
Car.Engine engine = car.new Engine("EA211");
-
engine. Ignite();
-
}
-
}
运行结果如下:
成员内部类不止可以 在外部类使用,在其他类中也可以使用。在其他类中创建内部类的对象语法特殊,如下:
外部类 outer = new 外部类()
外部类.内部类 inner = outer.new 内部类();
使用this关键字获取内部类与外部类的引用
例题8.4
-
public class TheSameName {
-
private int x =7; //外部类的x
-
private class inner{
-
private int x =9; //内部类的x
-
public void doit() {
-
int x = 11; //局部变量x
-
x++; //调用局部变量
-
this.x++; //调用内部类的x
-
TheSameName.this.x++; //调用外部类的x
-
}
-
}
-
}
运行结果如下:
- 使用匿名类时一个遵循以下原则:
(1)匿名类不能写构造方法
(2)匿名类不能定义静态的成员
(3)如果匿名类创建的对象没有赋值给任何引用变量,会导致该对象用完一次就会被Java虚拟销毁