1。包 package语句必须是源文件中的第一个有效语句,前面只能有注释之类无意义语句。包必须对应一个目录,可以用点隔开多个目录。
package yxy;
class hello
{
hello()
{
System.out.println("hello,world!");
}
public static void main(String[] args)
{
hello h=new hello();
}
}
相关命令行命令 javac -d . Hello.java //-d 用于指定生成包文件的地址
Java yxy.hello
包是很好的一个东西,可以用于避免函数重名。当在某一个包下,需要访问其他包的类的时候,可以采用"import.包名.类名"的方法引用,同时也可以采用 "import 包名.*"的方法引用所有类,其中星号为通配符。
另,这个通配符有一个很好的妙用,比如说编译多个源文件的时候,由于某些源文件对其他源文件有依赖,比如说继承或者引用,那么编译时需要区分顺序,而若javac *.java则编译器会按照顺序编译所有.java后缀名的文件,真是太棒了 !
类的类型和修饰符
类的类型有default(缺省)和public;类的修饰符有final(不能被继承)和abstract(虚类);
方法的访问说明符,共有四种:Public protected private default;
方法的修饰符:Static final(被继承时不能被覆盖) abstract(抽象方法,因此类被称为抽象类,不能用于实例化对象), native;
垃圾内存回收机制
当内存不够用时,会自动调用垃圾内存回收函数 protected void finalize(),若内存够用,则此函数不会自动运行,而可以通过 system.gc(),来手动调用垃圾内存回收函数。
所谓垃圾是指,那么被分配了空间,却没有被调用的对象或者数据。
class garbage
{
int index;
garbage(int index)
{
this.index=index;
System.out.println("object"+index+"construct");
}
protected void finalize()
{
System.out.println("garbage collection is running!");
}
public static void main(String[] args)
{
new garbage(1);
new garbage(2);
new garbage(3);
System.gc();
}
}
接口interface
实现implements
在接口定义中,所以方法均为public abstract类型,在实现类中,所有的方法均应该声明为public类型,且必须实现所有的方法。JAVA中不允许类的多继承,但是允许接口的多继承,允许一个方法继承自其他多个方法