java无难事笔记(三)

package mybole;   package语句必须是第一条语句;

package mybole;

class Test

{

         publicstatic void main(String [] args)

         {

                   System.out.println("packagetest");

         }

}

新建一个包,编译java Test.java生成Test.class

执行java Test,这是错误的报错

因为Test现在属于某一个包,应该是java mybole.Test

新建一个名为mybole的文件夹,把字节码文件放进文件夹,然后执行java mybole.Test

就成功了!“.”也可以换成”/”,但大部分用”.”;

在编译的时候加上-d 会遵照源文件中包名生成指定的目录文件,

比如javac –d . Test.java (.表示在当前目录生成)

比如 package cn.mybole在编译的时候如果加上-d就会在指定目录创建cn文件夹,在cn文件夹下创建mybole文件夹,再在mybole文件夹下生成字节码文件。

 

类范文修饰符:

Public和Default

同一个包中的类可以相互相互访问,但是只能访问另外一个包的public类,缺省的类是在包外面是无法访问的。缺省类只能在同一个包中其他类访问。

Final:

最终类,如果在一个类的前面加上final,那么这个类不能被继承public final classname

 

类方法成员访问修饰符:

同一个类中的各种成员可一相互访问

两个类如果处于同一个包中,则可以相互访问public,protected,default这三种修饰的成员函数,但是private不能够。

如果两个类属于不同包中不同类,则子类可以访问父类的public和protected类。

如果两个类属于不通报中不同类,且不是子类与父类的关系,那么就只能相互访问public成员;

 

 

Abstract:

抽象方法,表明此方法不能再子类中被覆盖,抽想法方法所在的类必须是抽象类,抽象类不能被实例化。

 

如果一个类继承了一个抽象类,那么必须要实现抽象函数,否则必须声明为抽象类。

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

抽象方法就是没有左右大括号,实现就是有左右大括号了,括号里面可以为空。

 

垃圾回收机制是一个优先级较低的一个线程,System.gc是调用垃圾收集器;

垃圾收集之前会调用Object类的方法finalize,此方法可以被重载,是一个静态的成员函数

 

 

接口

接口中所有方法都是抽象的方法public abstract。不用显示声明就是。

派生类要覆盖子类的方法时候要有更高的权限,至少要等同,而不能去较低

接口和接口实现类就是这么一种关系。

如果实现一个接口,要么全部实现,要么声明为抽象类。

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

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

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

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

一个类在继承另外一个类的同时,可以实现多个接口

Class classname1 extends interface1 implementsclassname2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章