1,关于源文件(java文件)
1.1,源文件的一些规则
●每个源文件只能有一个public修饰的类,并且源文件名必须与该类名相同。如果源文件内没有public的类,那么源文件名可以和所有文件 内的类不相同
●如果类在包内,那么package必须写在源文件的第一行。
●如果有import,那么import必须在package与类声明之间。
●package,import适用于源文件中所有的类,也就是说源文件中的类必须在同一个包内,引用相同的类。
●注释可以位于任何位置。
2,修饰符与类的声明
修饰符分为两类:访问修饰符,比如public,protected,private。非访问修饰符,比如strictfp,final,abstract。
2.1,修饰类的访问修饰符
●可以修饰类的访问修饰符只有public和默认访问。
●public修饰的类,其他任何类都可以访问。
●默认访问修饰的类,是包级访问,也就是说只有在同一个包中的类可以访问。
2.2,修饰类的非访问修饰符
2.2.1 final修饰的类
●当用final修饰类时,该类不能有子类,也就是说该类不能被继承。
2.2.2 abstract修饰的类
●当用abstract修饰类时,表明该类为抽象类,永远不能被实例化。但是可以编译,执行。
●抽象类中的抽象方法是以;结尾的,也就是public abstract void method();
●类中只要有一个方法是abstract的,那么该类就必须使abstract,抽象的。
●final,abstract不能同时修饰同一个类,这将编译不过去,因为一个又要求有类继承它(abstract),又要求不能 有类继承它(final),这是很难为编译器的。
3,关于接口
抽象类中可以定义抽象的和非抽象的方法,而接口中只能有抽象的方法。接口是一种特殊的抽象类,另外接口还有以下特点。
●接口中的方法隐含都是公共的,抽象的。即接口中的方法你加不加public,abstract修饰,它都是默认public,abstract的。
●接口中的变量必须是public,static,final的,也就是说接口中只能定义常量,和上一条一样,不管你加不加这三个修饰符,它都默认是public,static,final的。
●接口中的方法不能是static的。
●接口可以继承一个或多个接口,也就说可以 interface A extends interface1,interface2......,另外接口只能扩展接口,不能实现接口或其他的类。
●接口需要使用关键字interface来声明一个接口。