📄 student.java
字号:
/**
* @(#)CloneExp.java
*
*
* @author
* @version 1.00 2007/11/17
*/
import java.io.*;
class Grade implements Serializable {
double chinese_grd;
double math_grd;
double english_grd;
Grade(double a,double b,double c) {
chinese_grd=a; math_grd=b; english_grd=c;
}
double SumGrd() {
return (chinese_grd+math_grd+english_grd);
}
double AvgGrd() {
return (SumGrd()/3);
}
}
public class Student implements Cloneable,Serializable {
String name;
int age;
char sex;
Grade grade;
Student (String s,int a,char x,Grade g) {
name=s; age=a; sex=x; grade=g;
}
void output() {
System.out.println("name="+name+"age="+age+"sex="+(sex=='M'?"男":"女"));
System.out.println("Chinese Grade="+grade.chinese_grd+"Math Grade="+grade.math_grd+"English Grade="+grade.english_grd);
System.out.println("the sum of grade="+grade.SumGrd()+"the average of grade="+grade.AvgGrd());
}
/* protected Object clone() {
System.out.println("this is deep clone method!");
Student std;
String s=new String(this.name);
int a=this.age;
char x=this.sex;
Grade g=new Grade(this.grade.chinese_grd,this.grade.math_grd,this.grade.english_grd);
std=new Student(s,a,x,g);
return std;
} */
public static void main(String[] args) {
// TODO code application logic here
Grade g=new Grade(70,80,90);
Student s1=new Student("王明",31,'M',g);
Student s2=s1;
Student s3;
try {
s3=(Student)(s1.clone());
s3.grade.english_grd=98;
}
catch (Exception e) {
System.out.println(e);
}
s1.output();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -