- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六高级类设计
一、实验目的
通过实验验证类的高级特性的相关语法,掌握类的静态域、静态方法,包, 掌握接口的定义和实现方法,掌握异常的使用方法。
—、实验要求
了解Java系统包的结构。
掌握创建自定义包的方法。
掌握使用系统接口的技术和创建口定义接口的方法。
理解系统界常处理的机制和创建口定义界常的方法。
三、实验设备
计算机、JCreator、JDK
US实验内容
US
实验内容
I基本指导
(―)静态方法和静态变量
static声明的成员变量、方法称为静态方法和静态成员,静态方法和静态成员被视为 类的成员变量、类的成员方法,而不把它当作实例对象的成员变量和方法。换句话说,静态 变量、静态方法是类固有的,可以直接引用,其它成员变量、成员方法仅仅被声明,生成实 例对象后才存在,才可以被引用。基于这样的事实,也把静态变量、静态方法称为类变量、 方法,非静态变量称为实例变量、实例方法。
下面给出类StaticDemo和对应测试类StaticDemoTest,分别存放在文件 StaticDemo. java和SialicDemoTest.java屮,仔细阅读程序,观察程序的运行结果,理解static 方法和变量的使用方法。
类StaticDemo
〃该程序验证静态方法和静态变最的特点
//StaticDemo.java 文件
public class StaticDemo {
private static int x; 〃静态变量
private int y;
public static int getX()〃静态方法 return x;
public static void setX(int newX) {II静态方法
x = newX;
public int gX。实例方法 return y;
public void setY(int newY) {//实例方法 y = newY;
阅读该程序,总结下列问题:
1)如何定义一个静态的方法和静态的常量,我们使用的关键字是什么?与实例常量和 方法的定义有何区别?
输入StaticDemo类的测试类文{-|StaticDemoTest.java,仔细阅读程序,观察运行结果, 体会静态方法和静态变量的用法和特征。
//StaticDemoTest.java
public class StaticDemoTest {
public static void main(String[] args) {
1/注意静态方法getX()访问的方式:类名?方法名();
System.out.println(u 静态变 m x= -^-StaticDem o .getX ());
〃访问实例方法
// System.out.println(实例变量y=+StaticDemo.getY()); // 非法,编译时将出错
StaticDemo a= new StaticDemo();
StaticDemo b= new StaticDemo();
//再次访问静态方法,通过戒象名方滋名();
setX(l);
System.out.println(a. setX( 1)后,a和b对x的取值是:”); System.out.println(静态变量 a.x=*+a.getX());
Systcm.out.println(静态变 量 b.x=”+b.getX());
sctX(3);
System.out.println(nb. setX⑶后,a和b对 x的収值是:”);
System.out.println(H 静态变量 a.x=+a.getX());
System.out.println(静态变量 b.x=+b.getX());
setY(2); //访问实例方法
setY(4);
〃输出对象a、b的属性:x, y的值
System.out.println(a,b 的最后的值为”);
System.out.println(静态变量 a.x=+a.getX());
System.out.println(实例变量 a.y=+a.getY());
System.out.println(静态变 量b.x=”+b.getX()); Systcm.out.println(实例变 #b.y=+b.getY ());
}
}
阅读并运行类StaticDemoTest,思考下列问题:
对于类StaticDemo中定义的静态方法getX();我们分别使用了类名靜态方法名Q 和对象名静态方法名O两种方式进行调用,编译该类,查看是否有错课,如果没有错课 则说明两种方式都可以调用静态方法。
在程序中我们将System.out.piintln(实例变#y=+StaticDemo.getY());进行了注释, 删去注释符号,重新编
文档评论(0)