java类与对象实验报告
JAVA实验报告_Java类与对象

JAVA实验报告_Java类与对象贵州大学实验报告学院:计信学院专业:网络工程班级:101 姓名学号实验组实验时间05.11 指导教师肖源源成绩实验项目名称Java类与对象实验目的1)理解面向过程与面向对象区别2)理解面向对象的三大特征3)掌握类声明的方法4)掌握构造方法5)掌握对象的创建方法与创建机制6)掌握成员变量、类变量和局部变量区别7)掌握成员方法与类方法区别8)掌握函数的重载9)掌握4种访问修饰符的区别实验要求1.安装并设置Java SDK 软件包。
2.按要求编写程序完成实验指导所需实验要求。
3.调试并成功运行。
实验内容1、创建猴子类。
具体要求如下:1)编写一个类Monkey,用来表示猴子类;2)给Monkey类确定添加4个属性:3个实例成员变量(名字、体重、年龄)、1个静态成员变量(爱好:默认值为:吃香蕉);3)添加默认构造方法和有参构造方法(3个参数,分别给名字、体重和年龄赋初始值)4)编写展示猴子能够爬树(climbTree)的方法――提供两个参数传入:分别代码猴子的名字(name)和爬树的高度(height)(方法内只需打印猴子的”名字+会爬树,能爬+高度”)5)测试:在main方法中创建两个猴子对象monkey1(甲、50、3)和monkey2(乙、45、2),monkey1使用默认构造方法创建,monkey2使用有参构造方法创建。
分别打印出monkey1和monkey2的名字、体重、年龄和爱好。
并调用monkey1和monkey2的爬树方法。
2、创建矩形Rectangle类。
具体要求如下:1)创建一个Rectangle类;2)创建属性:两个double成员变量:width和height。
3)创建方法:计算矩形的周长getLength()和面积getArea()。
4)测试:创建Rectangle对象,并给两个成员变量赋值,调用周长和面积的方法,输出周长和面积。
实验数据实验总结整体实验基本达到要求,理解面向过程与面向对象区别,掌握类声明的方法,掌握对象的创建方法,掌握函数的重载等。
Java实验报告三类与对象

福建农林大学计算机与信息学院实验报告实验(三)类与对象一、实验目的和要求1.深入理解类和对象二、实验内容和原理1. 建立包myPackageA,在包中创建一个矩形类,其中包括计算矩形周长和面积两个方法。
在包myPackageB中建立一个Main类,在Main类中使用该矩形类,计算给定长和宽的矩形的周长和面积。
要求:当给定的长或者宽为负数或者0时,应该无法计算。
2. 编写一个Rational(有理数)类,具体要求如下:①Rational类有两个int型的成员变量,名字分别为fengZi(分子)和fengMu(分母)。
②提供Rational add(Ration al r)方法,即有理数调用该方法与参数指定的有理数做加法运算,并返回一个Rational对象③提供Rational multi(Rational r)方法,即有理数调用该方法与参数指定的有理数做乘法运算,并返回一个Rational对象。
④为了弱化难度,设参与运算的有理数均为正数。
三、实验环境1.硬件环境:2.软件环境:JDK1.5四、算法描述及实验步骤1.算法描述(可以用流程图、伪代码或源程序描述)2.实验步骤一、package myPackageA;public class 矩形类{public double Long,Wide;public double Girth(){if(Long>0&&Wide>0){double result=(Long+Wide)*2;System.out.println("长为:"+Long+","+"宽为:"+Wide+"的矩形");System.out.print("其周长是"+result+";");return result;}elseSystem.out.println("您输入的数据有误");return 1;}public double Area(){if(Long>0&&Wide>0){double result=Long*Wide;System.out.println("其面积是"+result);return result;}elsereturn 1;}}package myPackageB;import myPackageA.*;public class Main {public static void main(String args[]){矩形类a=new 矩形类();a.Long=2;a.Wide=0; // a.Wide=6;a.Girth();a.Area();}}二、package myPackageC;public class Rational {int fengzi,fengmu;Rational add(Rational r) {int a=r.fengzi;int b=r.fengmu;int newFengzi=fengzi*b+fengmu*a;int newFengmu=fengmu*b;Rational result1=new Rational();result1.fengzi=newFengzi;result1.fengmu=newFengmu;int x=newFengzi;int y=newFengmu;if(x<y) {int z=x;x=y;y=z;}int c=x%y;while(c!=0) {x=y;y=c;c=x%y;}System.out.println(fengzi+"/"+fengmu+"+"+r.fengzi+"/"+r.fengmu +"="+newFengzi/y+"/"+newFengmu/y);return result1;}Rational multi(Rational r){int a=r.fengzi;int b=r.fengmu;int newFengzi=fengzi*a;int newFengmu=fengmu*b;Rational result2=new Rational();result2.fengzi=newFengzi;result2.fengmu=newFengmu;int x=newFengzi;int y=newFengmu;if(x<y) {int z=x;x=y;y=z;}int c=x%y;while(c!=0) {x=y;y=c;c=x%y;}System.out.println(fengzi+"/"+fengmu+"*"+r.fengzi+"/"+r.fengmu+ "="+newFengzi/y+"/"+newFengmu/y);return result2;}public static void main(String args[]){Rational r1=new Rational();r1.fengzi=7;r1.fengmu=10;Rational r2=new Rational();r2.fengzi=2;r2.fengmu=5;r1.add(r2);r1.multi(r2);}}五、调试过程1.编译过程2.调试过程六、实验结果用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。
java类与对象实验报告

一.三角形、梯形和圆形的类封装:分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法。最后在主方法中为三角形、梯形和圆形类创建对象并打印输出各种图形的周长及面积。编写该程序的代码并将其放在几个class类中即:
在Jdk环境下运行该程序,在记事本中编写代码如下:
运行的:
二.、学习实例成员与类成员的区别的简单例题:
在Myeclipse环境下运行得:
在JDK环境下编写代码并运行的:
运行的:
三.使用package语句与import语句的简
运行结果:
四.定义父类People,分别定义People类的子类ChinaPeople,AmericanPeople和BeijingPeople并分别重写父类中的各个方法。最后在主方法中分别创建各子类的对象并调用各自的方法打印输出信息。代 码如下:
六、指导教师评语及成绩:
教室签名
成绩
批阅日期
2011年4月15日
在接口与继承,
五、实验总结:通过实验了解并掌握了Java面向对象程序设计的基本思想,类的创建与作用,对象的定义。可以将一个程序分几个class处理,即存在几个class中,运行时只需将其全选即可。同时通过上机调试学会了package的创建用法与import导入某个文件的用法。掌握了抽象类的定义及其实现方法,上转型对象的运用方法。掌握了方法重写式接口的定义及其实现方法,实现了接口回调的运用方法.
运行结果:
五.抽象类的定义及其实现方法的程序:
六.。掌握接口的定义及其实现方法,学习接口回调的运用方法。
四、实验过程与分析:
在实验时,先将eclipse安装好,再打开new出java project,在java project下面new class加类名,将其创建成功。运行时,将创建的所有class均运行。方法重写时注意方法的形式及其开头的代码不变,只把函数体的内容改变。
java实验报告——类与对象

name=n; } public void setAge(int a){
age=a; } public void setSex(boolean s){
sex=s; } public void setPhone(String p){
phone=p; } public long getId(){
return id; } public String getName(){
return name; } public int getAge(){
return age;
2
实验报告
} public boolean getSex(){
return sex; } public String getPhone(){
6)写出 Cmanage 类中的属性
由 Customer 中的属性决定,即:编号 id,姓名 name,年龄 age,性别 sex, 电话号码 phone。
7)写出 Cmanage 类中的构造方法 Cmanage();//无参构造函数
4
实验报告
8)写出 Cmanage 类中插入方法 public void insert(){ Scanner in=new Scanner(System.in); System.out.println("请输入要插入的人数:"); int n=in.nextInt(); cu=new Customer[n]; for(int i=0;i<n;i++){ cu[i]=new Customer(); System.out.println("请输入第"+(i+1)+"个要插入的顾客的信息:"); cu[i].id=in.nextLong(); cu[i].name=in.next(); cu[i].age=in.nextInt(); cu[i].sex=in.nextBoolean(); cu[i].phone=in.next(); }
西安邮电大学java类与对象实验报告

西安邮电⼤学java类与对象实验报告西安邮电⼤学(计算机学院)Java程序设计课内实验报告实验名称:类与对象专业名称:软件⼯程班级:学⽣姓名:学号(8位):指导教师:实验⽇期:2014年4⽉2⽇⼀. 实验⽬的及实验环境理解类与对象的概念,掌握Java 类的定义(域、⽅法)、创建对象和使⽤对象。
理解包的概念,会创建包,引⼊包。
掌握访问权限规则。
环境:eclipse⼆. 实验内容1. 设计Point 类⽤来定义平⾯上的⼀个点,⽤构造⽅法传递坐标位置。
默认构造⽅法创建坐标原点,带参数构造⽅法根据指定坐标创建⼀个点对象。
提供get、set ⽅法返回和设置坐标。
distance 返回两个点之间距离或当前点到指定坐标之间的距离。
同时设计应⽤类进⾏测试。
2. 设计⼀个三⾓形类,能判断给定三边是否构成三⾓形,能判断三⾓形的类型(普通、等腰、等边、直⾓,⽤枚举类型(参见第六章))能计算周长与⾯积。
并在应⽤类中演⽰。
3.定义⼀个Line 类,该类包含两个Point 类型的实例变量,⽤以表⽰线段的两个端点。
提供以下⽅法:计算线段长度;判断线段是否⽔平、判断是否为垂直、计算线段斜率、计算线段中点、判断两条线段是否相等。
并在应⽤类中演⽰。
4.定义两个包p1、p2,三个类C1、C2、C3.其中C1、C2 位于p1 中,C3 位于p2 中。
在C1 中定义四个不同访问控制修饰类型的变量,在C2、C3 中进⾏访问测试。
并练习在JDK 命令⾏下⽣成包。
三.⽅案设计对于第⼀题,⽤了staticstatic double distance(Point p1,Point p2){return Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));}对于第⼆题,采⽤if –else,严谨的判断三⾓形的形状public void judge(){if(a==b || b==c || c==a){if(a==b && b==c)System.out.println("该三⾓形为等边三⾓形。
Java实验报告-2-类和对象

class Fushu
{
private double a; //实部
private double b;//虚部
public Fushu(double x,double y)
{
a=x;
b=y;
}
public void addfushu(double x,double y)
"b="+10.4+"+"+11.2+"*i"+"\n"+
"a+b="+a.geta()+"+"+a.getb()+"*i"+"\n"+
"a-b="+b.geta()+b.getb()+"*i");
}
}
实验结果
小结
通过本次实验,我对java里面类和对象的定义和使用有了一定的认识和熟悉。
说明:如果完成了一次实验的多个实验题目,可以在实验报告中复制该表,填写其他实验题目的报告。
{
return this.b;
}
}
Fushu a = new Fushu(12.9,9.7);
a.addfushu(10.4, 11.2);
Fushu b = new Fushu(12.9,9.7);
b.plusfushu(10.4, 11.2);
JOptionPane.showMessageDialog(null,"a="+12.9+"+"+9.7+"*i"+"\n"+
java 类与对象实验报告

java 类与对象实验报告Java 类与对象实验报告一、实验目的本次实验的目的是通过实际操作,加深对Java类与对象的理解与掌握。
通过编写程序,创建类和对象,实现类的各种属性和方法,并进行相应的测试和调试,从而熟悉类与对象的概念、创建与使用。
二、实验内容本次实验包括以下几个方面的内容:1. 创建一个名为"Student"的类,该类包含学生的姓名、年龄、性别等属性,以及相应的get和set方法。
2. 创建一个名为"Course"的类,该类包含课程的名称、学分、教师等属性,以及相应的get和set方法。
3. 创建一个名为"Teacher"的类,该类包含教师的姓名、年龄、性别等属性,以及相应的get和set方法。
4. 在"Student"类中添加一个名为"selectCourse"的方法,该方法可以选择课程,并将其添加到学生的课程列表中。
5. 在"Student"类中添加一个名为"dropCourse"的方法,该方法可以退选课程,并将其从学生的课程列表中移除。
6. 在"Course"类中添加一个名为"showInfo"的方法,该方法可以显示课程的详细信息。
7. 在"Teacher"类中添加一个名为"teachCourse"的方法,该方法可以教授课程,并显示教师的相关信息。
三、实验过程首先,我们需要创建一个名为"Student"的类。
在该类中,我们定义了学生的姓名、年龄、性别等属性,并为每个属性添加了相应的get和set方法。
接着,我们在该类中添加了一个名为"selectCourse"的方法,该方法可以选择课程,并将其添加到学生的课程列表中;同时,我们还添加了一个名为"dropCourse"的方法,该方法可以退选课程,并将其从学生的课程列表中移除。
java类与对象实验报告心得

java类与对象实验报告心得哇,做完这个Java类与对象的实验,真的是感触颇多呢。
在做这个实验之前呀,对于Java里的类和对象,我就只停留在理论知识上,觉得它们好抽象哦。
什么是类呢?就像是一个蓝图一样,描述了对象应该具有的属性和行为。
可那时候,我对这个概念也只是一知半解啦。
当开始做实验的时候,我才真正体会到其中的乐趣与挑战。
创建类的时候,我要去仔细思考这个类到底需要哪些属性。
就好比我要创建一个表示学生的类,那姓名、年龄、学号这些属性肯定是必不可少的呀。
这就像是在设计一个学生的模板一样,好有趣呢。
定义类中的方法也很有意思。
这些方法就像是这个类的功能一样。
比如说学生类中的学习方法,我可以在这个方法里编写一些代码来表示学生学习的过程。
刚开始写的时候,还老是出错呢,哎呀。
不是语法错误,就是逻辑上有点混乱。
不过这也是学习的过程嘛。
创建对象就像是根据这个蓝图来制造一个具体的东西。
我根据学生类创建了具体的学生对象,每个学生对象都有自己独特的属性值。
这就像是在现实生活中,每个学生都是独一无二的一样。
当我成功创建出这些对象并且让它们执行相应的方法时,那种成就感真的难以言表,哈哈。
在实验过程中,我还深刻体会到了封装的重要性。
把类的属性和方法封装起来,就像是给它们穿上了一层保护罩一样。
这样可以防止外部的代码随意修改类内部的数据,使得代码更加安全和可靠。
这让我觉得Java真的是一门很严谨的编程语言呢。
另外呀,类与类之间的关系也很复杂但又很有趣。
有继承关系,就像儿子类继承父亲类的属性和方法一样。
还有组合关系,一个类可以包含其他类的对象作为自己的属性。
理解这些关系的时候,我费了好大的劲呢,不过一旦理解了,就感觉像是打开了新世界的大门。
这次实验让我对Java类与对象的理解不再停留在书本上的文字,而是真正地可以运用它们来编写程序了。
我觉得自己在编程的道路上又前进了一大步呢。
希望以后还能做更多这样有趣又有挑战性的实验,让我可以更加熟练地掌握Java编程呀。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AraAndleng
BV3 drdejala ranglejava laderjava
dlass Lader
double above,bottcm,height,area;
Lader(double a, double b,double h
above=a;
bottom=b;
height=h;/ /方法体,将参数a,b,h分别赋值给above,bottom,height
double getArea()
arealabove+bottom)/2*height;
return area; 11方法体,,要求计算出areai返回
uerava AreaAnuLengunyava
a
型类变量b,即static 变量b
a
变量b
二. 、学习实例成员与类成员的区别的简单例题:
HH raLKagec l nierarcmy 日 年 マ hik
罗 x t t
src
曲(default package)
Ajava
Examplejava
JRE System Library [idk1.6.0 11
d Irangeaa J UITCIE,Javd ua ny ieava La c las s A {
float a; / / 声 明 一 个 f l o a t 型 实 例 变 量 stat ic f loat b; / / 声 明 一 个 f l
o a t vo id setA (float a)
this. a =a; / / 将 参 数 a 的 值 赋 值 给 成 员 变 量
e
vo id
{
setB (f loat
this . k =b; b)
/ / 将 参 数 b 的 值 赋 值 给 成 员
}
float
getA()
retu rn a;
}
e f lo a t getB()
re tu rn b;
}
vo id inputA() {
System. out .println(a);
}
s tat ic vo id inputB()
{
System. out .println(b);
h) 命 令 提 示 符
Microsoft Windows[版本6. 1.7601]
版权所有(c >2809 Microsoft Corporation 。
保留所有权利。
分 C:NIseps\>d:
D:Vcd 1000
D:\1803>javacAreaAndLength.java
D:\000>java AreaAndLength
圆的周长:62.886066666868684 圆的面积:314 . 0 三角形的周长:12 . 0
ar 三角形的面积:6.8
梯形的面积:35 . 日 不是一个三角形 , 不能计算面积 三角形的面积:0 . 0 三角形的周长:47 . 0
建
D:\080>
/
在Myeclipse 环境下运行得:
口 Problems @Javadoc
<terminated> Example [Java App
100.0 200.0
300.0
150.0
300.0
tem [ 在JDK 环境下编写代码并运行的:
槽Package E x Hierarcy 口 Tranglejava J circle.java
J trangle.java 日气
Laderjava xample.java
AreaAndLengthjava clas s A //声明一个float 型实例变量a //声明一个float 型类变量b,即static 变量! a) this .a=a; //将参数a 的值赋值给成员变量a vo i d setB (float b) th is .b=b; //将参数b 的值赋值给成员变量b float getA() retu rn a;
float getB() retu rn b;
vo id inputA() System. out .println(a); sta t ic vo id inputB() System .out .println(b); float a; stat ic floa t b;
vo i d setA (float
hik 岁 x t 粤src (default package)
A.java
D Exampleja va JR
E System Library [idk1.6.0 11 ault package)
java
E x a m p l e j a v a - 记 事 本
文 件 ( F ) 编姆(E) 格式(O) 查看(V) 匡助(H) class A
float a;
static float b; void setA(float this.a=a; ]
void setB(float this.b=b;
float setA()
return a;
} float getE()
[
return b;
]
void inputA()
System.out.println(a);
]
static yoid inputB(
System.out.println(b);
public class Example
public static vaid main(String args[])
A.b=100; A.inputB();
A cat=new A() A dog=new A()
cat.setA(200)
cat.setB(400);//cat 调用方法setB(int b)将cat 的成员b 的值设置为400 h o g . s e t A ( 1 5 0 ) ; / / d o g 象 调 用 方 法 s e t A ( i n t a ) 将 d o g 的 成 员 a 的 值 设 置 为 1 5 0
dog.setB(300);//dog 调用方法setB(int b)将dog 的成员b 的值设置为300
运 行 的 :
/ 2 唠
n . 命 令提 示 符
Microsoft Windows[版本6. 1.7681]
版权所有<c)2089 Microsoft Corporation 。
保留所有权利。
C:NIsers\>D:
D:\cd h
D:Nh>javac
D:Nh>java
100.0
200.0
300.0
150.0
300.0
D:Nh>
Example.java
Example
三.使用package 语句与import 语句的简
/ / 声 明 一 个 f o a t 型 实 例 变 量 a
//声明一个foat 型类变量b ,即static 变量b a)
//将参数a 的值赋值给成员变量a b)
//将参数b 的值赋值给成员变量b
/ / 通 过 类 名 操 作 类 变 量 b , 并 赋 值 1 0 0
//通过类名调用方法inputB() //cat 象调用方法setA(int a)将cat 的成员a 的值设置为200
J* YearWorker.java x Employee.java J M
c las s YearNorker ex te nds Employee
{
p ubl ic do ub le earnings()
re tarn 50000,456;
}
// 重写earnings ()方法
Employee class WeekWorker extends
{
pablic double earnings()
retarn 52*500;
}// 重写earnings() 方法。