* 什么是类变量? 类变量时该类的所有对象共享的变量,任何一个类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。 * 如何定义类变量? 答:定义语法: 访问修饰符 static 数据类型 变量名; * 如何访问变量? 答:类名.类变量名 或者 对象名.类变量名 > 类变量-分析问题 请看下述一个程序,看看结果是多少? 主要考察:对静态变量的理解 Public class Dfssc { Static int i=1; Static { //该静态区域块,只被执行一次 System.out.println(“a”); I++; } Public Dfssc() { System.out.println(“b”); I++; } Public static void main (String []args) { Dfssc t1=new Dfssc(); System.out.println(t1.i); Dfssc t2=new Dfssc(); System.out.println(t2.i); } } * 什么是类方法,为什么有类方法? 类方法是属于 所有对象实例的,其形式如下: 访问修饰符 static 数据返回类型 方法名(){} 注意:类方法中不能访问非静态变量(类变量) 使用:类名.类方法名 或者 对象名.类方法名 请大家看一个小案例。(统计学费总和) 举例1: /* 作者:shunping 日期:2011.02.16 功能:this的必要性 */ public class dfssc { public static void main (String []args) { /*Dog dog1=new Dog(2,"小黄"); Person p1=new Person(dog1,23,"猪坚强"); Person p2=new Person(dog1,24,"狗坚弱"); p1.showInfo(); p1.dog.showInfo(); //int total=0; Child ch1=new Child(2,"妞妞"); ch1.joinGame(); //total++; Child ch2=new Child(4,"小小"); ch2.joinGame(); Child ch3=new Child(5,"大大"); ch3.joinGame(); //total++; System.out.println("共有="+ch3.total);*/ //创建一个学生实例 Stu s1=new Stu(21,"小红",3400); Stu s2=new Stu(23,"",4500); System.out.println(Stu.getTotalFee()); } |