文档详情

第7章-面向对象高级实现.pptx

发布:2018-05-16约8.23千字共91页下载文档
文本预览下载声明
内蒙古师范大学数学科学学院;;静态修饰符-static;static机制;;class Sample1 { public static int number; //定义一个静态变量 public void method() { int x = number; //在类的内部直接访问number静态变量 } } class Sample2 { public void method() { int x = Sample1.number; //通过Sample1类名来访问number静态变量。 } } ;public class Monkey{ String name; //实例变量 static int count; //静态变量 public Monkey(String name){ this.name=name; count++; } public void speak(){ System.out.println(大家好,我是+name); //合法,允许访问name实例变量 System.out.println(目前共有+count+个猴子); //合法,允许访问count静态变量 } public static void main(String args[]){ Monkey m1=new Monkey(智多星); Monkey m2=new Monkey(小不点); m1.speak(); m2.speak(); } } ;Java语言中没有全局变量的概念,静态变量从某种意义上来说相当于其他程序设计语言中的全局变量 静态变量是唯一为类中所有对象共享的变量 如果一个静态变量同时还被定义为public类型,那么其他类也同样可以使用这一变量,引用这一变量时甚至无须生成一个该类的对象,而是直接利用类名即可指向它 ;静态方法;静态方法可以访问的内容;package mypack; public class Monkey{ String name; //实例变量 static int count; //静态变量 public Monkey(String name){ this.name=name; count++; } public static void speak(){ //System.out.println(大家好,我是+name); //非法,不允许访问name实例变量 System.out.println(目前共有+count+个猴子); //合法,可以访问count静态变量 } } ;实例方法可访问的内容;public class Monkey{ String name; //实例变量 static int count; //静态变量 public Monkey(String name){ this.name=name; count++; } public void speak(){ System.out.println(大家好,我是+name); //合法,允许访问name实例变量 System.out.println(目前共有+count+个猴子); //合法,允许访问count静态变量 } public static void main(String args[]){ Monkey m1=new Monkey(智多星); Monkey m2=new Monkey(小不点); m1.speak(); m2.speak(); } } ;引用变量m1;静态方法使用注意;public class Tester{ int x; void method(){} public static void main(String args[]) { //x = 9; // 编译错误 //this.x=9; // 编译错误 //method(); // 编译错误 //this.method(); //编译错误 Tester t=new Tester(); t.x = 9; // 合法 t.method();// 合法 } };static代码块;public class Sample{ static int i = 5; static { //第一个静态代码块 System.out.pri
显示全部
相似文档