学习笔记 07-1-19



为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,Java引入了包(package)。

package语句必须是文件中的第一条语句,指明了文件中定义的类所在的包。也就是说,在package语句之前,除了空白和注释之外不能有任何语句。

如果不加package语句,则指定为缺省包或无名包。

包对应着文件系统的目录层次结构。

在package语句中,用“ .”来指明包(目录)的层次。

java.lang包是Java语言的核心类库,如System类就包括在其中。系统会自动引用java,lang包,不需要在句首声明import语句。


编译并生成包


在当前目录下生成包
javac –d . Test.java

在指定目录下生成包
javac –d 指定目录 Test.java


import


引入包中的类。
import java.io.File;

引入整个包。【以*号表示】
import java.io.*;

在同一包中的类可以互相引用,无需import语句。


说明符


类的访问说明符
 (1)public
 (2)default(不加访问说明符时)

类的其它修饰符
 (1)final
 (2)abstract

方法的说明符

方法的访问说明符
 (1)public
 (2)protected
 (3)default(不加访问说明符时)
 (4)private

方法的其它修饰符
 (1)static
 (2)final
 (3)abstract
 (4)native
 (5)synchronized


final方法


为了确保某个函数的行为在继承过程中保持不变,并且不能被覆盖(overridden),可以使用final方法。

为了效率上的考虑,将方法声明为final,让编译器对此方法的调用进行优化。
要注意的是:编译器会自行对final方法进行判断,并决定是否进行优化。 通常在方法的体积很小,而我们确实不希望它被覆盖时,才将它声明为final。

class中所有的private和static方法自然就是final。


抽象方法和抽象类

在类中没有方法体的方法,就是抽象方法。

含有抽象方法的类,即为抽象类。

如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。

我们可以将一个没有任何抽象方法的类声明为 abstract,避免由这个类产生任何的对象。

构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。


native方法

native方法是用户在Java中可以使用,但不能编写的方法。

JNI(Java Native Interface),它允许Java虚拟机(JVM)内部运行的Java代码能够与用其它编程语言(如C、C++、汇编语言)编写的应用程序和库进行互操作。

JNI最大的好处是它没有对底层Java虚拟机的实现施加任何限制,因此,Java虚拟机厂商可以在不影响虚拟机其它部分的情况下添加对JNI的支持。程序员只需编写一种版本的本地(Native)应用程序和库,就能够与所有支持JNI的Java虚拟机协同工作。

JNI可以理解为Java和本地应用程序之间的中介。


接口[interface]

implements

接口中所有的方法都是public abstract。

在接口中声明方法时,不能使用native、static 、final 、synchronized 、private 、protected等修饰符。

和public类一样,public接口也必须定义在与接口同名的文件中。

接口中可以有数据成员,这些成员默认都是public static final。

在Java中,一个类可以实现多个接口。

一个类在继承另外一个类的同时,可以实现多个接口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值