面向对象的编程
接着上一篇,这一篇继续写面向对象的编程语法:
8、static关键字
(1)、在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。
(2)、用static声明的方法称为静态方法或类方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
注:一个类中的方法可以互相调用:实例方法可以调用该类中的实例方法或类方法;类方法只能调用该类的类方法,不能用实例方法。
类方法与实例方法的差别:实例方法可以操作成员变量,无论是实例变量还是类变量;而类方法只能操作类变量,不能操作实例变量,也就是说,类方法中不能有操作实例变量的语句。
(3)、可以通过对象引用或类名(不需要实例化)访问静态成员。
例;public class Cat{
private static int sid=0;
private string name;
}public static void main (String args[]){
Cat.sid=100;
Cat.mimi=new Cat("mimi");
}
这个例子可以明显看出用static修饰的变量不需要实例化,而没用static修饰的必须通过new出对象进行实例化。
9、pakage关键字
通过关键字pakage声明包语句。通过建立包可以解决类同名的问题,防止命名冲突更好的保护类、数据和方法。
注:pakage语句作为java源文件的第一条语句,指明该源文件定义的类所在的包(若缺少该语句则为无名包),而且它前面不允许放任何语句。
访问位于同一个包中的类不需要引入;必须class文件的最上层包的父目录位于classpath下。
pakage语句的一般格式;
pakage 包名;
java编译器把包对应于文件系统的目录管理,pakage语句中,用“.”来指明包(目录)的层次。
注:如果将一个类打包,则使用该类时,必须使用该类的全名,java编译器才能找到该类。
以上就是static关键字与pakage的语法。