首页 > 程序开发 > 软件开发 > Java >

java基础系列之四:java基本语法

2011-11-14

本章主要内容:包类的说明符方法的说明符对象的销毁接口内部类和匿名内部类异常处理1、包(package) 为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,java引入了包。 package必须是文件中的第...

本章主要内容:

类的说明符

方法的说明符

对象的销毁

接口

内部类和匿名内部类

异常处理

1、包(package)

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

package必须是文件中的第一条语句,也就是说,在package语句之前,除了空白和注释之外不能有其他语句。

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

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

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

2、编译并生成包

在当前目录下生成包

javac -d . Test.java

在指定目录下生成包

javac -d E:JavaLesson Test.java

编译某一目录下所有java文件,此时不用当心编译次序

javac *.java

设置了环境变量之后,会默认在环境变量指定的目录下搜索类。

set classpath=%classpath%;d:java\;

3、import语句

引入包中的类

import java.io.File;

引入整个包

import java.io.*;

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

java.lang包是默认导入的,编写程序时,无需显示导入。

没有导入相应包时,必须在调用类时写上类的全名。

4、类的说明符

1>类的访问说明符

public

default(不加访问说明符时)

2>类的其他修饰符

final

abstract

5、方法的说明符

1>方法的访问说明符

public

protected

default(不加访问说明符时)

private

2>方法的其他修饰符

static

final

abstract

native

synchronized

6、方法的访问控制

public protected default private

同类 yes yes yes yes

同包 yes yes yes

子类 yes yes

通用 yes

7、final方法

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

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

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

8、抽象方法和抽象类

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

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

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

抽象类不能实例化。

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

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

9、native方法

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

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

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

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

书写步骤:

·编写带有native声明的方法的java类   

·使用javac命令编译所编写的java类 JNI

·使用javah -jni java类名生成扩展名为h的头文件   

·使用C/C++实现本地方法   

·将C/C++编写的文件生成动态连接库   

·使用java命令运行java类

10、垃圾回收机制

垃圾回收是一个低优先级的线程在后台自动运行。

System.gc()用来显示调用垃圾回收方法finalize()。

11、接口

实现接口采用关键字implements。

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

接口中数据成员默认都是public static final。

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

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

实现一个接口时,如果不能实现其中所有方法,必须将类定义为抽象类。

一个接口可以继承自另一个或多个接口。

java中不允许类的多继承,但允许接口的多继承。

interface Sittable

{

void sit();

}

interface Lie

{

void sleep();

}

interface Chair extends Sittable

{

}

interface Sofa extends Sittable, Lie //一个接口继承多个接口

{

}

class Sofa1 implements Sittable, Lie //一个类实现多个接口

{

public void sit()

{

}

public void sleep()

{

}

}

interface HealthCare

{

void massage();

}

class Chair implements Sittable

{

public void sit(){};

}

class Sofa extends Chair implements Lie, HealthCare //在继承类的同时,实现多个接口

{

public void sleep(){};

public void massage(){};

}


xiadaoceshen的专栏
相关文章
最新文章
热点推荐