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编程呀。
java类与对象实验报告
java类与对象实验报告Java类与对象实验报告一、引言Java是一种面向对象的编程语言,类和对象是Java编程的基本概念。
在本次实验中,我们将学习和掌握Java类和对象的概念、定义和使用方法,并通过实际的编程实验来加深对这些概念的理解。
二、实验目的1. 理解Java类和对象的概念;2. 学会定义和使用Java类;3. 掌握创建和操作Java对象的方法;4. 熟悉Java类和对象的相关语法和规范。
三、实验过程1. 类的定义在Java中,类是对象的模板,用于描述对象的属性和行为。
我们首先需要定义一个类,以便创建对象。
类的定义包括类名、属性和方法。
属性即对象的特征,方法即对象的行为。
2. 对象的创建通过使用关键字"new",我们可以创建一个类的对象。
对象是类的实例化,每个对象都有自己的属性和方法。
3. 对象的属性和方法对象的属性和方法可以通过对象名加点操作符来访问。
属性可以是基本类型或其他类的对象,方法可以是对象的行为或功能。
4. 构造方法构造方法是一种特殊的方法,用于创建对象时进行初始化操作。
构造方法的名称必须与类名相同,没有返回类型,可以有参数。
5. 封装性封装性是面向对象编程的重要特性之一,它将数据和方法封装在类中,对外部隐藏内部实现细节。
通过使用访问修饰符(private, public, protected)来控制属性和方法的访问权限。
6. 继承继承是面向对象编程的另一个重要特性,它允许我们创建一个新类,并从现有类中继承属性和方法。
通过使用关键字"extends"来实现继承。
7. 多态性多态性是面向对象编程的核心概念之一,它允许我们使用一个父类类型的引用来引用子类的对象。
通过方法的重写和重载来实现多态性。
四、实验结果通过本次实验,我们成功定义了一个Java类,并创建了多个对象。
我们可以通过对象名来访问对象的属性和方法,并对其进行操作。
我们还学习了构造方法的使用,以及封装性、继承和多态性的相关概念。
Java类与对象实验报告
实验报告一、实验项目:类与对象二、实验目的:1。
学会使用类来封装对象的属性和功能2. 掌握类变量与实例变量,以及类方法与实例方法的区别3。
掌握使用package和import语三、实验器材:计算机、Java编程软件JCreator四、实验原理(或仪器装置图):1. 类与对象类是组成Java程序的基本要素。
类封装了一类对象的状态和方法。
类是用来定义对象的模板。
类声明class 类名{类体}对象的声明一般格式为:类的名字对象名字;定义对象引用后,用new运算符完成对象的创建工作,分配存储空间,并对其初始化。
变量名=new 类名([构造方法实参表]);对象的使用访问成员的基本语法形式如下:对象名。
变量成员名对象名.方法成员名([实际参数表])2.成员变量和局部变量成员变量格式:[修饰符] 变量类型变量名[=初值];成员方法:格式:[修饰符]返回值的数据类型方法名(参数1,参数2,…){语句序列;return[表达式];}类中定义的变量是成员变量,而方法中定义的变量是局部变量。
3. 构造方法构造方法是一种特殊的方法,创建对象时被自动调用.与一般的方法不同,它没有返回值类型的说明,方法体中也不可以用return语句带回返回值。
构造方法的方法名与类名相同在构造方法中可以通过this关键字调用该类中其他的构造方法。
4。
包包是Java语言中有效地管理类的一个机制。
①通过关键字package声明包语句。
package 语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包.package语句的一般格式为:package 包名;②import 语句:使用import 语句可以引入包中的类。
五、实验步骤及数据记录:1.定义一个圆柱体类Cylinder,并创建相应的对象,然后计算圆柱体的底面积与体积。
class Cylinder{double radius;int height;double pi=3.14;void area(){System。
java类和对象的应用实验总结
Java类和对象的应用实验总结在Java编程语言中,类(Class)和对象(Object)是两个核心的概念。
类是对象的模板或蓝图,而对象则是类的实例。
通过使用类和对象,我们可以创建具有共享属性和方法的实体,也可以创建具有独特属性和行为的实体。
以下是我对Java类和对象应用实验的一些总结:类的定义和使用:在Java中,我们使用class关键字来定义一个类。
例如,我们可以创建一个名为Person的类,该类具有name、age 和height等属性,以及eat()和sleep()等方法。
我们可以通过创建类的实例(即对象)来使用类。
对象的创建和使用:我们使用new关键字来创建一个类的实例,这个实例就是一个对象。
例如,我们可以创建一个Person类的对象,并通过调用对象的方法来执行特定的行为。
我们也可以通过访问对象的属性来获取或修改对象的状态。
继承:Java中的类可以继承其他类的属性和方法。
通过继承,我们可以创建一个新的类,该类继承了父类的所有属性和方法,并可以添加自己的属性和方法。
这个过程被称为类的扩展或继承。
多态:在Java中,一个对象可以被引用为多种类型。
例如,我们可以有一个父类类型的引用指向一个子类对象。
当调用这个对象的方法时,会根据对象的实际类型来调用相应的方法。
这就是多态性的体现。
封装:封装是Java中一个重要的面向对象编程概念。
通过封装,我们可以将数据(属性)和处理数据的方法(方法)绑定在一起,形成一个独立的实体。
封装的目的是增加安全性和简化性,用户只知道对象提供哪些方法,至于内部的具体实现细节则一概不知。
通过这些实验,我深入理解了Java的类和对象的概念,以及它们在面向对象编程中的重要性。
这些实验也帮助我理解了如何使用类和对象来设计和实现复杂的系统。
java类和对象实验报告
实验报告课程名称: Java语言程序设计姓名:学号:班级:数学与计算机科学学院数学与计算机科学学院实验报告实验名称:类和对象指导教师:日期:实验结果第1题代码:class Dog{private String name,color;private int age;public Dog(String name,String color,int age){=name;this.color=color;this.age=age;}public void show() {System.out.println("名字:" + + "\n毛色:" + color + "\n年龄:" + age); }}public class Tm1{public static void main(String args[]){Dog d=new Dog("松狮","黄色",6);d.show();}}第2题代码:class Student{String name,id;double total,sports;public Student(String i,String j,double k,double m){name=i;id=j;total=k;sports=m;}public double get_total(){ return total;}public double get_sports(){ return sports;}}class School {double ScoreLine;public School(double i){ ScoreLine=i;}public double get_scoreLine()}public class Tm2 {void true_out(Student stu){ System.out.println(+" "+stu.id+" "+"被录取");} void false_out(Student stu){System.out.println(+" "+stu.id+" "+"未被录取");} void judge(Student stu,School line){if((stu.get_total()>line.get_scoreLine())||((stu.get_sports()>96)&&(s tu.get_total()>300)))true_out(stu);elsefalse_out(stu);}public static void main(String[] args) {double scoreline=325.0;School sce = new School(scoreline);Student stu1=new Student("张三","001",331.9,92.4);Student stu2=new Student("李四","002",344.5,89.7);Student stu3=new Student("王五","003",245.0,96.0);Tm2 temp=new Tm2();temp.judge(stu1,sce);temp.judge(stu2,sce);temp.judge(stu3,sce);}}第3题代码:public class Tm3 {private String name;private String password;private static int count;public Tm3(){count++;}public Tm3(String name){=name;count++;}public Tm3(String name,String password){=name;this.password=password;count++;}public String getName(){return name;}public void setName(String name){=name;}public String getPassword()public void setPassword(String password){this.password=password;}public void print(){System.out.println("用户名:"+name+"\n"+"口令:"+password+"\n");} public void count(){System.out.println("用户个数:"+(count-1));}public static void main(String args[]){Tm3 user1=new Tm3("张三","12345");Tm3 user2=new Tm3("李四","67891");Tm3 user3=new Tm3("王五","23456");user1.print();user2.print();user3.print();new Tm3().count();}}第4题代码:import java.text.DecimalFormat;class Point{protected int x,y;Point(int m,int n){x=m;y=n;}public void set_point(int m,int n){x=m; y=n;}public int get_x(){return x;}public int get_y(){return y;}}class Circle extends Point{protected double r;Circle(int m,int n,double l){super(m,n);r=l;}public void set_r(double m){r=m;}public double get_r(){return r;}public double get_area(){return 3.14*r*r;}}public class Tm4 extends Circle{protected double h;Tm4(int m,int n,double r,double l){super(m,n,r);h=l;}public void set_h(double m){h=m;}public double get_h(){return h;}public double get_volume(){return get_area()*h;}public static void main(String[] args) {Tm4 clas1=new Tm4(1,2,4,6);Tm4 clas2=new Tm4(2,5,6,7);Tm4 clas3=new Tm4(8,4,2,5);DecimalFormat df=new DecimalFormat("#.00");System.out.println("轴心位置坐标:("+clas1.get_x()+","+clas1.get_y()+")\n半径:"+clas1.get_r()+"\n面积:"+df.format(clas1.get_area())+"\n高:"+clas1.get_h()+"\n体积:"+df.format(clas1.get_volume())+"\n");System.out.println("轴心位置坐标:("+clas2.get_x()+","+clas2.get_y()+")\n半径:"+clas2.get_r()+"\n面积:"+df.format(clas2.get_area())+"\n高:"+clas2.get_h()+"\n体积:"+df.format(clas2.get_volume())+"\n");System.out.println("轴心位置坐标:("+clas3.get_x()+","+clas3.get_y()+")\n半径:"+clas3.get_r()+"\n面积:"+df.format(clas3.get_area())+"\n高:"+clas3.get_h()+"\n体积:"+df.format(clas3.get_volume())+"\n");}}实验结果第1题:第2题:第3题:第4题:。
java实验类和对象
实验二类和对象实验名称类和对象的有关实验实验环境Myeclipse 9.0.jdk 1.6,windows7 professional 64 bit实验内容通过实验了解和初步掌握类的创建和对象的创建和使用实验题目1.对象的创建和使用。
编写一个圆环类Ring的Java程序。
圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以查看get也可以重新设置set,另外,圆环还可以返回其面积area。
2.方法重载。
编写一个Java程序,反映出方法重载的使用特点,该程序包含多个重载的加法运算,例如:整型加法、实型加法、以及混合加法运算等。
实验代码问题一:publicclass Ring{finaldouble PI=3.1415926;double innerRadius;double outerRadius;String color;public Ring(double iRadius,double oRadius,String c){innerRadius=iRadius;outerRadius=oRadius;color=c;}publicdouble getInnerRadius(){return innerRadius;}publicdouble getOuterRadius(){return outerRadius;}publicvoid resetI(double a){innerRadius=a;}publicvoid resetO(double a){outerRadius=a;}publicvoid resetC(String a){color=a;}publicdouble area(){return (outerRadius*outerRadius-innerRadius*innerRadius)*PI; }publicstaticvoid main(String args[]){Ring a=new Ring(5,8,"blue");System.out.println("内径为"+a.getInnerRadius()+"\n");System.out.println("外径为"+a.getOuterRadius()+"\n");System.out.println("面积为"+a.area()+"\n");System.out.println("颜色为"+a.color+"\n");a.resetI(60);a.resetO(80);a.resetC("yellow");System.out.println("内径为"+a.getInnerRadius()+"\n");System.out.println("外径为"+a.getOuterRadius()+"\n");System.out.println("面积为"+a.area()+"\n");System.out.println("颜色为"+a.color+"\n");}}问题二:publicclass OverLoad{int m,n;OverLoad(){m=0;n=0;}OverLoad(int a,int b){m=a;n=b;}int add(){System.out.println("无参数加法"+m+"+"+n+"="+(m+n));return m+n;}int add(int a,int b){System.out.println("整形加法"+m+"+"+n+"="+(m+n));return m+n;}double add(double a,double b){System.out.println("实型加法"+a+"+"+b+"="+(a+b));return a+b;}double add(int a,int b,double c){System.out.println("混合加法"+a+"+"+b+"+"+c+"="+(a+b+c)); return a+b+c;}publicstaticvoid main(String args[]){int ix,iy;double dx,dy;OverLoadov=new OverLoad();ix=ov.add();iy=ov.add(3,6);dx=ov.add(3,6,2);dy=ov.add(3,6,2.2);}}实验运行结果问题一:实验二:实验结论通过以上的运行和实验,我初步掌握了java中类的相关操作方法。
java实验报告类和对象实验报告
课程名称
面向对象程序设计
实验名称
实验三、类和对象
日期
2018/4/9
学生学号
姓名
班级
实验目的:
1.掌握面向对象编程语言中的类和对象的使用方法。
2.理解类的封装性。
实验条件:
电脑一台、能上网查阅资料。
实验内容与步骤:
要求:
设计和实现一个学生类,满足以下要求:
1、学生具有学号、姓名、性别、年龄和专业等属性;
super();
this.sname=sname;
this.snum=snum;
this.sex=sex;
}
publicenumSEXENM{
Male,Female
}
}
packagezhy.shiyan3;
importzhy.shiyan3.Student.SEXENM;
publicclassDemo {
}
publicString getSname() {
returnsname;
}
publicString getSnum() {
returnsnum;
}
publicSEXENM getSex() {
returnsex;
}
publicStudent(Stringsname,Stringsnum,SEXENMsex) {
publicstaticvoidmain(String[]args) {
Studentstudent=null;
student=newStudent("翟海洋","1525",SEXENM.Male);
student.setAge(22);
JAVA实验报告_Java类与对象
JAVA实验报告_Java类与对象实验目的:通过 Java 类与对象的实验,学习 Java 面向对象编程的基本概念和语法,并了解Java 的封装、继承和多态特性。
实验环境:操作系统:Windows 10开发工具:Eclipse IDE for Java DevelopersJava 版本:jdk1.8.0_231实验步骤:1. 创建一个名为 Person 的 Java 类,用于表示人物的基本信息,包括姓名、性别和年龄等。
2. 在 Person 类中使用 private 关键字对字段进行封装,以实现对字段的访问控制,使其只能通过方法进行访问和修改。
3. 在 Person 类中编写构造方法,用于初始化对象的属性值。
6. 调用 Person 对象的方法,显示对象的基本信息。
7. 创建一个名为 Student 的子类,继承 Person 类,并添加一个字段表示学号,以及相应的 get 和 set 方法。
实验结果:Person 类的实现:```javapublic class Person {private String name;private String gender;private int age;public Person(String name, String gender, int age) { = name;this.gender = gender;this.age = age;}public String getName() {return name;}public String getGender() {return gender;}public int getAge() {return age;}public void setName(String name) { = name;}public void setGender(String gender) {this.gender = gender;}public void setAge(int age) {this.age = age;}public void display() {System.out.println("Name: " + getName());System.out.println("Gender: " + getGender());System.out.println("Age: " + getAge());}}```实验分析:通过本次实验,我们学习了 Java 类与对象的基本概念和语法,并了解了 Java 的封装、继承和多态特性。
java实验报告三类和对象
计算机与信息学院实验报告系软件系专业软件工程年级08级成绩姓名学号实验室T312 机号48实验时间2010年11月1日下午3、4节教师签字实验(三)类和对象一、实验目的和要求1.掌握类的构造函数的重载2.深入理解类和对象3.学习NetBeans中UML项目的创建类并生成相应代码的方法二、实验内容和原理设计一个复数类,能够完成复数之间的基本运算,重写方法toString(),使其能输出此复数(形式为:实部 + 虚部i)。
要求设计的复数类必须有三个构造函数,分别为无参数、1个参数和2个参数的构造函数,完成的基本运算包括两个复数的加、减、乘、除法和共轭复数。
三、实验环境1.硬件环境:2.软件环境:JDK1.5四、算法描述及实验步骤1.算法描述(可以用类图、流程图、伪代码或源程序描述)2.实验步骤●创建一个UML项目,并设计类Complex如下图●创建一个Java应用项目●把UML项目中的Complex自动生成代码到Java应用项目中●实现Complex类中的方法●进行编译●进行测试,使用的测试用例:输入:预期输出:…五、调试过程1.编译过程记录算法实现中发现的语法错误及改正以下代码不能实现预期的结果:应该改成如下代码:2.调试过程记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出,并与预期输出进行比较,如果不同,分析产生错误的原因并改正。
输入:预期输出:实际输出:分析与预期结果一致。
六、实验结果用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。
第一组输入:第二组输入:第一组输出结果:第二组输出结果:结果分析:两组的输出结果都正确。
七、总结不应该一开始就考虑怎么编写代码,而是应该想好其框架。
注意语法上的错误,而逻辑上的错误在改正上有很大的难度,在这方面要多加交流。
附录:import javax.swing.*;public class Complex {private double realPart;private double imaginaryPart;public Complex(){realPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the realpart:"));imaginaryPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the imaginarypart:"));}public Complex(double realPart){this.realPart = realPart;this.imaginaryPart = 0;}public Complex(double realPart,double imaginaryPart){this.realPart = realPart;this.imaginaryPart = imaginaryPart;}public double getRealPart(){return this.realPart;}public void setRealPart(double val){realPart = val;}public double getimaginaryPart(){return this.imaginaryPart;}public void setimaginaryPart(double val){imaginaryPart = val;}public Complex plus(Complex complex){Complex c = new Complex(realPart + complex.realPart,imaginaryPart + complex.imaginaryPart);return c;}public Complex minus(Complex complex){Complex c = new Complex(realPart - complex.realPart,imaginaryPart - complex.imaginaryPart);return c;}public Complex times(Complex complex){Complex c = new Complex(realPart * complex.realPart - imaginaryPart * complex.imaginaryPart,realPart * complex.imaginaryPart + imaginaryPart * complex.realPart);return c;}public Complex divideBy(Complex complex){double t = complex.realPart * complex.realPart + complex.imaginaryPart * complex.imaginaryPart;Complex c = new Complex((realPart * complex.realPart + imaginaryPart * complex.imaginaryPart)/t,(imaginaryPart * complex.realPart - realPart * complex.imaginaryPart) / t);return c;}public Complex conjugate(){Complex c = new Complex(realPart,-imaginaryPart);return c;}public String toString(){String str = "";if(realPart != 0 && imaginaryPart > 0)return str+realPart+"+"+imaginaryPart+"i"+"\n";if(realPart != 0 && imaginaryPart < 0)return str+realPart+imaginaryPart+"i"+"\n";if(realPart == 0 && imaginaryPart != 0){return str+imaginaryPart+"i"+"\n";}if(realPart == 0 && imaginaryPart == 0){System.out.println("重新输入:");}return str+realPart+"\n";}public static void main(String[] args){Complex c1 = new Complex();Complex c2 = new Complex();String output = "两个复数:\n"+c1+"\n"+c2+"\n"+"两个复数相加:\n"+c1.plus(c2)+"两个复数相减:\n"+c1.minus(c2)+"两个复数相乘:\n"+c1.times(c2)+"两个复数相除:\n"+c1.divideBy(c2)+"c1的共厄复数:\n"+c1.conjugate()+"c2的共厄复数:\n"+c2.conjugate(); JOptionPane.showMessageDialog(null,output);}}。
Java类及对象实验报告
西安邮电大学(计算机学院)课实验报告实验名称:类与对象专业名称:计算机科学与技术班级:计科1405班学生:高宏伟学号:04141152指导教师:霞林实验日期:2016.9.29一、实验目的通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法。
二、实验要求1.编写一个创建对象和使用对象的方法的程序。
2.编写一个包含类成员和示例成员的程序。
3.编写一个使用Java包的程序。
三、实验容(一)三角形、梯形和圆形的类封装✧实验要求:编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。
具体要求如下:a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。
另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。
b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。
c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
✧程序模板:AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){this.sideA=a; //【代码1】参数a,b,c分别赋值给sideA,sideB,sideCthis.sideB=b;this.sideC=c;if((sideA+sideB)>sideC&&(sideC+sideB)>sideA&&(sideC+sideA)>sideB)//【代码2】a,b,c构成三角形的条件表达式{boo=true;//【代码3】给boo赋值。
java类与对象实验报告
java类与对象实验报告《Java类与对象实验报告》实验目的:本实验旨在帮助学生理解和掌握Java中类与对象的概念,以及如何创建和使用它们。
通过实际操作,学生将能够加深对类与对象的理解,并掌握如何在程序中正确地使用它们。
实验内容:1. 创建一个简单的Java类,包括成员变量和成员方法。
2. 创建该类的对象,并调用其成员方法。
3. 理解类与对象之间的关系,以及如何通过对象访问类的成员变量和成员方法。
4. 掌握类的继承与多态的概念,以及如何在程序中应用它们。
实验步骤:1. 首先,我们创建一个名为“Person”的Java类,该类包括姓名和年龄两个成员变量,以及一个打印个人信息的成员方法。
2. 接下来,我们创建一个名为“Main”的主类,在该类中创建“Person”类的对象,并调用其成员方法打印个人信息。
3. 然后,我们创建一个名为“Student”的子类,继承“Person”类,并重写其打印个人信息的方法。
4. 最后,我们创建“Main”类的另一个对象,分别用“Person”类和“Student”类的对象调用成员方法,观察多态的效果。
实验结果:通过本次实验,我们成功创建了一个简单的Java类,并在程序中正确地使用了它。
我们也理解了类与对象之间的关系,以及如何通过对象访问类的成员变量和成员方法。
此外,我们还掌握了类的继承与多态的概念,并成功在程序中应用它们。
结论:本次实验使我们更加深入地理解了Java中类与对象的概念,以及如何正确地创建和使用它们。
通过实际操作,我们掌握了类的继承与多态的概念,并成功在程序中应用它们。
这将为我们今后的学习和工作打下坚实的基础。
Java实验报告2 类和对象
实验报告【实验名称】第二章类和对象【实验目的】1.学习Java的基本语法2.学习Java的运算符和控制语句3.学习类和对象的概念【实验原理】1.Java程序设计基本原理2.面向对象程序设计基本原理【实验内容】一、填空题1. System.out.println(“12”+ 5);语句的输出结果是 125 。
2. Java语言中“2.5%1.2”的运算结果是 0.1 。
二、简答1. 为什么类成员方法只能操作类成员变量,而不能操作实例变量?[解答]因为类方法是静态方法,静态方法在加载class的时候就会初始化,而非静态成员(实例成员)还未进行初始化,所以类成员方法只能操作类成员变量,而不能操作实例变量。
2. 简述指针和引用有什么区别?[解答]指针表示的是地址,引用表示的也是地址,但是指针可以进行修改,引用则不能进行改动。
并且使用指针具有三大缺点,指针指向的内存并不是我们所需要的内存、指针所访存的内存空间是不允许被访存的、指针访存的空间并不存在。
三、实验题1. 指出程序中的错误,并修正public class Example{public static void main(String args[]){int a=1.0;float fa=216;float fb=21.656f;double da=125e45d;double db=123.45;float fc=0.1;}}[解答]:int a=1.0 修改为 double a=1.0 (float型比int型级别高)float fc=0.1 修改为 double fc=0.1 (double的类型比float级别高)2.写出如下程序输出结果,并说明原因public class E_c{public static void main(String args[]){String sx1="my";String sx2="god";char cx='a';System.out.println(sx1+sx2);System.out.println(sx2+cx);System.out.println(sx1+5);System.out.println(cx+5);}}结果:mygodgodamy5102原因:因为在输出内容包含字符串的时候,输出结果就全部为字符串,因此前三个结果为字符,第四个并不是,c的ascii为97,所以结果为1023、把如下程序改成从键盘输入两个整数,并判断大小。
java实验报告——对象和类
成绩:面向对象原理与Java实践课程实验报告实验1:对象和类姓名 ____班级 ____学号 ____实验地点 ____实验时间 ____指导教师 ____面向对象原理与Java实践课程实验报告实验1:对象和类一、实验目的:●掌握类的定义及应用方法●掌握对象的创建方法,了解实例变量、实例方法和静态字段的特性●体会Java在类和对象的设计中体现的面向对象的思想二、实验要求:●具备Java基础知识(教材第1、2章内容)●掌握Java中对象和类的基本概念和应用方法(教材第3章内容)●设计类时注意保证类的封装性●编写程序完成以下实验内容并上交实验报告(包括电子文档与纸质文档)三、实验内容:设计并实现一个“广石化院电信学院学生通信录”系统。
系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作(其中“查找”功能除能够查找某个学生的信息之外,还能够显示所有学生的信息)。
记录的存储可采用数组或链表的方式。
四、设计思路:为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入信息以及做出相关反应;一个类为学生信息服务,定义学生通讯录信息的各个字段,以及操作字段的各个方法,考虑到部分字段的属性问题,所以将操作方法都写在学生类中,不再另外放置在其他类中。
学生信息将会采用学生类的对象数组来储存。
五、程序源代码:下面是ZhuJieMian 主界面类package pkg_TXL;import java.util.Scanner;public class ZhuJieMian{/**** 该类为通讯录系统的主界面提供主要功能显示,以及负责主菜单与子菜单的正常跳转*/public static void main(String[] args){// TODO Auto-generated method stub//XueShengXinXi[] Stu=ChuShiHua(); //初始化系统数据XueShengXinXi[] Stu=new XueShengXinXi[100];Stu[0]=new XueShengXinXi("专业", "班级", "姓名", "性别", "电话", "家庭住址");Stu[1]=new XueShengXinXi("自动化", "自动化10-1", "张三", "男", "63256", "fnhjfdhsdbh");Stu[2]=new XueShengXinXi("自动化", "自动化10-2", "李四", "女", "653256", "nfhggdfddhsdbh");Stu[3]=new XueShengXinXi("电子", "电子10-1", "王五", "男", "6156", "fnhvjbh");Stu[4]=new XueShengXinXi("电子", "电子10-2", "小红", "女", "63956", "asdfnhjbh");Stu[5]=new XueShengXinXi("网络", "网络10-1", "小明", "男", "656", "nfgdgfnhjbh");Stu[6]=new XueShengXinXi("网络", "网络10-2", "小芳", "女", "62215", "nfgdmmmdfhbdsh");Stu[7]=new XueShengXinXi("计算机", "计算机10-1", "黄龙", "男", "65584", "bbbdddfnhjbh");Stu[8]=new XueShengXinXi("计算机", "计算机10-2", "陈玲", "女", "666114", "mjgfddddfnhjbh");Stu[9]=new XueShengXinXi("测控", "测控10-1", "赵小斌", "男", "644814", "fthnrehbkjhjbh");Stu[10]=new XueShengXinXi("测控", "测控10-2", "钱颖", "女", "63641", "dbfsvnnhjbh");Stu[11]=new XueShengXinXi("电信", "电信10-1", "孙武", "男", "6321514", "mmhmgvvdfnhjbh");Stu[12]=new XueShengXinXi("电信", "电信10-2", "李雨", "女", "6314", "43ghffvvdfnhjbh");for(int x=13;x<Stu.length;x++){Stu[x]=new XueShengXinXi();}System.out.println("欢迎使用广石化电信学院通讯录系统!");ZhuJieMian: for(int exit=0;exit==0;)//exit为退出主菜单的指示变量,0为不退出,非0为退出{System.out.println();System.out.println("************************************");System.out.println("****************主菜单****************");System.out.print(" 1。
- 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() 方法。