《static关键字利用案例轻松学习Java语言配套.ppt》由会员分享,可在线阅读,更多相关《static关键字利用案例轻松学习Java语言配套.ppt(16页珍藏版)》请在三一办公上搜索。
1、第五讲:static关键字,主讲:覃遵跃,清华大学出版社利用案例轻松学习Java语言(2013年)配套课件PPT,课程导入,利用static关键字能够解决学生对象中学校名相同仅仅保存一次的问题!,(1)类设计中的数据成员;,(2)this关键字;,1、已经学习的相关知识,2、思考问题,保存20000次,如何吉首大学改名,则要修改20000次,5.1 static关键字,一个类产生实例化对象时将分别开辟栈内存及堆内存,栈内存存储对象的名称,堆内存存储对象的数据成员信息。,问题:存储重复;修改复杂,5.1 static关键字,5.1 static关键字,一:用static修饰数据成员,利用stat
2、ic关键字修饰的数据成员称为类成员,也称为静态成员(全局成员)。,static 数据类型 数据成员名;,类名.静态成员;,声明静态数据成员,引用静态数据成员,static不能修饰局部变量!,5.1 static关键字,Student对象成员的内存分配情况,完成了2个学生对象的学校名的修改,5.1 static关键字,二:用static修饰成员方法,利用static关键字修饰的成员方法为“类方法”,类方法可以由类直接调用。,static 返回类型 方法名(参数列);,类名.方法名(实参列表);,声明静态私有数据成员,引用静态成员方法,定义静态成员方法,静态方法只能调用静态数据成员而不能调用非静态
3、数据成员!,5.1 static关键字,静态方法与非静态方法、静态数据成员与非静态数据成员之间的调用关系,结论:静态成员不需要实例化就存在,而非静态成员是实例化后才有的成员,在没有实例化之前非静态成员并不存在。因此可以利用仅仅在某一时刻存在的对象访问普遍存在的对象;而不能用一个普遍存在的对象访问仅仅在某一时刻存在的对象。,5.2 static关键字,三:用static修饰静态代码块,5.2 JVM初始化对象过程,5.3 main方法,5.4 对象数组,对象数组是指数组的元素类型为对象类型,默认值是null,使用对象数组时对每一个元素必须进行实例化,否则会出现引用异常。,声明:类 对象数组名=n
4、ew 类数组长度;赋值:对象数组名下标=new 类名(实参表);,案例5-1:学生成绩管理。,5.4 对象数组,在学生成绩表中,每条记录是一个学生对象,计算高等数学的平均分和c语言的平均分。,程序请参考TestStudent5.java文件。,5.5 课堂小结,2、静态成员与非静态成员的关系?,(1)修饰数据成员,称为静态数据成员,即类成员;,1、static关键字的作用?,(2)修饰的成员方法,称为静态方法,即类方法;,(3)修饰构造块,称为静态代码块;,(1)非静态方法,可以引用静态的,也可以引用非静态的;,(2)静态方法,只能引用静态的,不能引用非静态的;,3、JVM初始化对象过程?,5.6 作业,1、下图为电脑专卖店的零售凭证,每个凭证的一条记录是一个对象,请设计凭证类,其中确定2个静态私有成员,其它的为非静态私有成员,打印该凭证,并进行测试。,