java静态变量与方法_java静态变量与方法

本文通过三个实验详细阐述了Java中静态成员变量与方法的特性和区别。实验一展示了静态变量与实例变量的引用方式及影响;实验二探讨了静态方法与实例方法的调用条件和限制;实验三设计了一个学生类,包含静态变量和方法,演示了如何在类中统计学生数据的平均分。通过这些实验,读者能深入理解Java类的静态特性及其在实际编程中的应用。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gifjava静态变量与方法

实验五 静态成员变量与静态成员方法 一、预备知识 static 声明的成员变量/方法被视为类的成员变量/方法,而不把它当作实例对象的成员变量/方法。换句话说,静态变量/方法是类固有的,可以直接引用,其它成员变量/方法仅仅被声明,生成实例对象后才存在,才可以被引用。基于这样的事实,也把静态变量/方法称为类变量/方法,非静态变量称为实例变量/方法。 从实验结果可以得出以下几点结论: ·类的静态变量可以直接引用,而非静态变量则不行。类的静态变量相当于某些程序语言的全局变量。 ·静态方法只能使用静态变量,不能使用实例变量。因为对象实例化之前,实例变量不可用。 ·类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。 ·对象实例化后,每个实例变量都被制作了一个副本,它们之间互不影响。 二、实验内容 1. 静态成员变量与实例成员变量的区别。 运行下面程序,写出每条语句的含义,解释每个输出语句的结果 class staticExam1 { int a=10; static int b=100; } class test { public static void main(String [] aa) { System.out.println(staticExam1.b); staticExam1 r1,r2; r1=new staticExam1(); r2=new staticExam1(); System.out.println(r1.a); r2.a=20; System.out.println(r2.a); System.out.println(r1.a); staticExam1 r3=new staticExam1(); r3.b=40; System.out.println(r2.b); System.out.println(r1.b); System.out.println(staticExam1.b); } } 2. 静态成员方法和实例成员方法的区别 运行下面程序,解释被注释的语句为什么出错,解释main()方法中的每条语句的含义。 最后说明静态成员方法和实例成员方法的区别。 class staticExam2 { int a=10; static int b=20; public void aa() { System.out.println(b); System.out.println(“这是一个实例方法“); } static public void bb() { //aa(); // System.out.println(b); System.out.println(“ 这是一个类方法“); } } class test1 { public static void main(String []args) { // staticExam2.aa(); staticExam3.bb(); staticExam3 r1=new staticExam3(); r1.aa(); r1.bb(); } } 3. 设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有两个普通成员函数setdata()和disp(),分别用于给数据成员赋值和输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分。在测试类中定义了N个学生对象用于存储输入的学生数据。输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。 (根据课堂上的例子讲解自己编写)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值