当前位置:文档之家› java实验报告4

java实验报告4

一.实验目的(1)学习类的成员变量和成员方法的声明格式(2)学习java对象的创建和调用(3)学习参数传递(4)学习类的私有成员的定义、访问方法已经共有成员的定义(5)理解类的构造方法、构造方法的调用(6)理解方法重载(7)掌握静态成员和非静态成员的访问方式(8)学习对象的赋值以及比较二.实验软件环境jdk1.6.0_18、windows 7三.实验内容(1)编写一个java程序,在程序中创建Student类的两个实例并访问他们的属性以及方法package .javaoo.class070120;//Student.javaclass Student{String name;int age;int Chinese;int Math;int English;int total(){return Chinese+Math+English;}int average(){return (Chinese+Math+English)/3;}}package .javaoo.class070120;//MyObject.javaclass MyObject{public static void main(String args[]){Student s1=new Student();="张三";s1.age=13;s1.Chinese=80;s1.Math=90;s1.English=85;System.out.println("你好,我叫"++","+"我今年"+s1.age+"岁");System.out.println("我的总分是"+s1.total());System.out.println("我的平均分是"+s1.average());Student s2=new Student();="李四";s2.age=12;s2.Chinese=80;s2.Math=90;s2.English=90;System.out.println("你好,我叫"++","+"我今年"+s1.age+"岁");System.out.println("我的总分是"+s2.total());System.out.println("我的平均分是"+s2.average());if(s1.total()>s2.total())System.out.println(+"的成绩好");elseif(s1.total()<s2.total())System.out.println(+"的成绩好");elseSystem.out.println(+"和"++"成绩一样好");}}(2)编写一个java程序,在程序中定义一个Person类,其中age属性是一个私有属性,并且范围在5~20之间package .javaoo.class070120;//Person.javaclass Person{String name;private int age;public boolean setAge(int newAge){if(5<=newAge&&newAge<=20){age=newAge;//如果5<=newAge<=20,则将newAge赋值给age属性并返回true;否则,返回falsereturn true;}else return false;}public int getAge(){return age; //返回age属性}public static void main(String args[]){Person s1=new Person();="张三";s1.setAge(25);//为学生s1的age属性设置年龄25,如果设置成功,显示s1的姓名和年龄,否则显示“年龄错误”int i=s1.getAge();if(i!=0){System.out.println(+" "+i);}else System.out.println("年龄错误");}}(3)编写一个java程序,在程序中定义一个Employee类,Employee类有四个构造方法,分别对不同的属性进行初始化,有一个setAge()方法能设置age属性,有一个getAge()方法返回age的值package .javaoo.class070120;//Employee.javaclass Employee{private String name;private int age;private double salary;public Employee(String newName,int newAge,double newSalary){this(newAge,newSalary);//[代码1]要求调用两个参数的构造方法,传入参数newAge 和newSalarySystem.out.println("三个参数的构造方法被调用");name=newName;}public Employee(int newAge,double newSalary){this(newSalary);//[代码2]要求调用一个参数的构造方法,传入参数newSalarySystem.out.println("两个参数的构造方法被调用");age=newAge;}public Employee(double newSalary){this.getAge();//[代码3]要求调用没有参数的构造方法System.out.println("没有参数的构造方法被调用");}void setAge(int newAge){int age=0;age=newAge;//[代码4]设置age属性的值为newAge}int getAge(){return age;}public static void main(String args[]){Employee s1=new Employee("李四",30,8000);s1.setAge(31);System.out.println("年龄是"+s1.getAge());}}(4)编写一个java程序,在程序中定义一个MyPlus类,MyPlus类有三个plus()方法,分别对不同参数进行求和package .javaoo.class070120;//MyPlus.javaclass MyPlus{public int plus(int a,int b){int s;s=a+b;return s;}public int plus(int a,int b,int c){int s;s=plus(a,b)+c;return s;}public int plus(int a,int b,int c,int d){int s;s=plus(a,b,c)+d;return s;}public static void main(String args[]){MyPlus p=new MyPlus();System.out.println("1+2="+p.plus(1,2));System.out.println("1+2+3="+p.plus(1,2,3));System.out.println("1+2+3+4="+p.plus(1,2,3,4));}}(5)编写一个java程序,在程序中定义一个Ca类,Ca类有静态成员和非静态成员,再定义一个Cb类,在Cb类中创建Ca类的对象package .javaoo.class070120;//Ca.javaclass Ca{int a;static int b;//[代码1]定义一个静态整形属性bpublic static void m1(){Ca s1=new Ca();s1.a=10;b=10;}public void m2(){a=5;b=5;}public static void m3(){m1();Ca s1=new Ca();s1.m2();}}class Cb{public static void main(String args[]){Ca s1=new Ca();Ca s2=new Ca();Ca.b=5;s1.b=6;s2.b=7;System.out.println("Ca.b="+Ca.b);System.out.println("s1.b="+s1.b);System.out.println("s2.b="+s2.b);}}(6)编写java程序,中定义一个StudentA类,生成StudentA类两个对象,赋值,比较package .javaoo.class070120;//StudentA.javapublic class StudentA{String strName;public static void main(String args[]){StudentA a=new StudentA();a.setName("张三");StudentA b=a;b.setName("李四");StudentA c=new StudentA();c.setName("王五");System.out.println("a的名字是"+a.getName());System.out.println("b的名字是"+b.getName());System.out.println("c的名字是"+c.getName());if(a==b){System.out.println("a与b相等");}else System.out.println("a与b不相等");if(a==c){System.out.println("a与c相等");}else System.out.println("a与c不相等");}public void setName(String name){strName=name;}public String getName(){return strName;}}四.实验的结果及分析五.实验心得体会通过本章节的学习,对于本章节所要学习的目标都初步达到了。

相关主题