大数据第十三天

1、package 定义包 注意事项

定义包的格式

package 包名;

包名只要有效的标识符即可,通常的做法是使用小写字母。多级包用.分开即可,以个圆点代表一个文件夹,内容通常是公司域名的倒序,

后面还可以再继续用项目名进行区分。

注意事项:

package 语句必须是程序的第一条可执行的代码,前面有注释语句没有影响,注释语句不是可执行语句。

package 语句在一个java文件中只能有一个

如果没有package,则表示无包名。

2、带包类的编译和运行方法

手动式:

1、javac编译当前类文件。不用-d指定生成的目录位置。

2、手动建立包对应的文件夹。

3、把a步骤的class文件放到b步骤的最终文件夹下。

4、通过java命令执行。注意:需要带包名称执行

java com.test.pack.HelloWorld

自动式:

1、javac编译的时候带上-d指定生成的完整类路径对应的文件夹(即包名中最顶层所在的目录,

-d . 表明在当前目录生成完整类名对应的文件夹结构)

javac -d . HelloWorld.java

2、通过java命令执行。和手动式一样,需要使用完整类名。

java com.test.pack.HelloWorld

由于生成的完整包名的最顶层在当前目录下,所以可以直接访问,如果在其他路径下的话,

需要使用-cp参数来指定类路径,也就是包全名对应的路径的父目录。

java -cp e: est11 com.test.pack.HelloWorld

总结:

一旦定义了包,则类在使用的时候就用包名.类名的方式,也叫完整类名。

完整类名就是带着包的类名(包名+类名)

3、不同包的类之间如何访问

使用import关键字,将需要使用的类导入到文件中

回想前面使用过的Scanner类

如果不用导包的话,每次使用不同包下的类的时候,都需要加上包的全路径。比较麻烦。

比如:com.it18zhang.Demo d = new com.it18zhang.Demo();

使用import导入包之后,就可以省去类前面的包名,直接使用类名了。

导包格式:

import 包名.类名;

4、四种权限修饰符的含义

5、内部类的概念

把类定义在其他类的内部,这个在其他类里面的类就被称为内部类。

内部类的访问特点:

内部类可以直接访问外部类的成员,包括私有

外部类要访问内部类的成员,必须创建对象(即使用new类名)

6、外界如何创建内部类对象并调用其中的方法?

外部类名.内部类名 对象名 = 外部类对象.内部类对象;

Outer.Inner oi = new Outer().new Inner();

7、匿名内部类对象的用法

就是内部类的简化写法

前提:存在一个类或者接口

这里的类可以是具体类也可以是抽象类

格式:new 类名或者接口名(){重写(实现)方法;}

本质:是一个继承了类或者实现了接口的子类匿名对象

原文地址:https://www.cnblogs.com/zhaoyongcx/p/6629477.html