static

来源:互联网 发布:hfss微带线端口 编辑:程序博客网 时间:2024/06/05 20:13

static关键字有哪些作用,
1、static修饰变量、方法
修饰方法(static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。)
2、static代码块,
3、静态内部类
4、静态导包 (import static)这个比较冷门,基本很少看见有地方用,使用JUnit可能会用 到,写assert的时候会方便些。import static是JDK1.5之后的新特性,这两个关键字连用可以指定导入某个类中的指定静态资源,并且不需要使用类名.资源名,可以直接使用资源名。注意一下,import static必须这么写,而不能写成static import。
import static java.lang.Math., 最后的“.”不可少,有了这两个字符才意味着导入的是Math下的所有静态资源,写成import static java.lang.Math是有问题的。当然,我们也可以指定只导入某个静态资源,比如只导入Math下sin这个方法而不导入Math下的所有静态资 源:
eg:

import static java.lang.Math.*;  //import static java.lang.Math.sinpublic class A{        public static void main(String[] args){                System.out.println(sin(2.2));   // 可以直接用sin(2.2)而不需要使用Math.sin(2.2)        }}public class A{        static {   //静态代码块                c = 3;                System.out.println(c); //报错                  // 静态代码块对于定义在它之后的静态变量,可以赋值,但是不能访问。         }         private static int c;}

接口和抽象类的区别:
1、个类只能继承一个类,但是可以实现多个接口。
2、 接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类可有非抽象方法。
3、 接口定义方法,不能实现,而抽象类可以实现部分方法。
4、 接口中基本数据类型为static 而抽类象不是的。
5、抽象类可以在不提供接口方法的情况下实现接口
6、接口中方法默认public ,抽象类可以是有public,private,protected(抽象方法没有private)
7、接口是绝对抽象的,不可以被实例化;抽象类也不可以被实例化,但是如果它含有main方法 是可以被调用的。