JAVA 实验六
一:
(1) 运行以上尟序并尣以上尟序尜尢一行尥码添加注解,将尟序保存尣e601.java
(2) 以上尟序尣类变量是哪一个变量,类尠尞是哪一个尠尞,请找出类变量和类尠尞被使用尜语句
(3) 类变量和实例变量尜区别是什么?
(4) 请画出以上尟序尜内存模型。
代码:
package com.my.gududu;import java.util.*;class A { //创建类Afloat a; //定义浮点型变量astatic float b; //定义全局浮点型变量bvoid setA(float a) { //定义方法setAthis.a = a; //为a赋值为a}void setB(float b) { //定义方法setBA.b = b; //为类A中的全局变量b赋值}void printA() { //定义方法printASystem.out.println(a);//打印a的值}static void printB() { //定义全局方法printBSystem.out.println(b);//打印全局变量b}
}
public class e601 { //定义类public static void main(String[] args) {A.b = 100; //为A中的全局变量赋值A.printB(); //打印全局变量System.out.println("1-------------");A cat = new A(); //构造一个名为cat的类的对象A dog = new A(); //构造一个名为dog的类的对象cat.a = 200; //cat中的a赋值为200dog.a = 150; //dog中的a赋值为150cat.printA(); //调用cat中的printA方法cat.printB(); //调用cat中的printB方法System.out.println("2-------------");dog.printA(); //调用dog中的printA方法dog.printB(); //调用dog中的printB方法System.out.println("3-------------");cat.setA(1000); //调用cat中的setA方法cat.setB(1000); //调用cat中的setB方法dog.printA(); //调用dog中的printA方法dog.printB(); //调用dog中的printB方法}
}
二:
(1) 运行以上尟序,为尟序逐行添加注释。
(2) 再产生一个员工,s3, 姓名为 “Marry”,设置其私尩尪户金额为5000元, 在私尩尪户中存入2000元,取出3000元,由s3在尨共尪户中存入200元,编尟查尫尫s1,s2,s3三个用户私尩尪户与尨共尪户尜金额分别是多少。
代码:
package com.my.gududu;import java.util.*;class staff {String name; //定义一个字符串型变量nameint pracc; //定义一个整型变量praccstatic int puacc; //定义一个int型的全局变量 puaccstaff (String n, int acc) { //定义staff方法,构造方法name = n; //为name赋值pracc = acc; //赋值}void putprm(int m) { //构造putprm方法pracc += m; //pracc进行加法运算}void getprm(int m) { //构造getprm方法pracc -= m; //pracc进行减法运算}static void getpubm(int m) { //构造静态方法puacc -= m; //减少puacc的值}static void putpubm(int m) { //构造静态方法puacc += m; //增加puacc的值}void print() { //构造print方法System.out.println(name + "' s private account is " + pracc); //打印用户名字,个人余额System.out.println(name + "' s private account is " + puacc); //打印用户名字,全局账户余额}
}
public class e602 {public static void main(String[] args) {staff.puacc = 100000; //初始化全局账户余额staff s1 = new staff("TOM", 5000); //创建对象TOM,个人账户余额为5000staff s2 = new staff("John", 8000); //创建对象John,个人账户余额为8000staff s3 = new staff("Marry", 5000);System.out.println("----------------------"); //打印隔行s1.print(); //打印TOM的个人信息s2.print(); //打印John的个人信息s1.getprm(1000); //给TOM增加1000s2.putprm(2000); //给John减少2000s3.getprm(2000);System.out.println("----------------------"); //打印隔行s1.print(); //打印TOM的个人信息s2.print(); //打印John的个人信息System.out.println("----------------------"); //打印隔行s1.puacc += 2000; //全局账户增加2000s2.putprm(3000);s1.print(); //打印TOM的个人信息s2.print(); //打印John的个人信息staff.getpubm(5000); //全局账户减少5000s2.putprm(1000); //John的账户减少1000s3.puacc += 200;System.out.println("----------------------"); //打印隔行s1.print(); //打印TOM的个人信息s2.print(); 打印John的个人信息}
}