java类与对象实验报告

合集下载

JAVA实验报告_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类和对象

实验四 Java类和对象

实验四类与对象、继承【目的】①使用类来封装对象的属性和功能;②掌握类变量与实例变量,以及类方法与实例方法的区别;③掌握使用package和import语句。

④巩固以下概念:子类的继承性子类对象的创建过程成员变量的继承与隐藏方法的继承与重写【内容】1.三角形、梯形和圆形的类封装✧实验要求:编写一个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){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】) //a,b,c构成三角形的条件表达式{【代码3】//给boo赋值。

}else{【代码4】//给boo赋值。

}}double getLength(){【代码5】//方法体,要求计算出length的值并返回}public double getArea(){if(boo){double p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;return area;}else{System.out.println("不是一个三角形,不能计算面积");return 0;}}public void setABC(double a,double b,double c){【代码6】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码7】) //a,b,c构成三角形的条件表达式{【代码8】//给boo赋值。

Java实验报告三类与对象

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实验报告(三)

Java实验报告(三)

Java实验报告(三)实验(三)类和对象⼀、实验⽬的和要求1.掌握类的构造函数的重载2.深⼊理解类和对象3.学习NetBeans中UML项⽬的创建类并⽣成相应代码的⽅法⼆、实验内容和原理设计⼀个复数类,能够完成复数之间的基本运算,重写⽅法toString(),使其能输出此复数(形式为:实部 + 虚部i)。

要求设计的复数类必须有三个构造函数,分别为⽆参数、1个参数和2个参数的构造函数,完成的基本运算包括两个复数的加、减、乘、除法和共轭复数。

三、实验环境1.硬件环境:2.软件环境:JDK1.5四、算法描述及实验步骤1.算法描述(可以⽤类图、流程图、伪代码或源程序描述)2.实验步骤●创建⼀个UML项⽬,并设计类Complex如下图●创建⼀个Java应⽤项⽬●把UML项⽬中的Complex⾃动⽣成代码到Java应⽤项⽬中●实现Complex类中的⽅法●进⾏编译●进⾏测试,使⽤的测试⽤例:输⼊:预期输出:…代码:Complex类:package studentTaskThree;/*** 复数类* @author Administrator**/public class Complex{/*** 定义类变量,复数的实部realPart和虚部ImaginaryPart */ private double realPart;private double imaginaryPart;/*** ⽆参构造⽅法*/public Complex(){super();* 不含实部复数的构造⽅法* @param realPart*/public Complex(double imaginaryPart){super();this.imaginaryPart = imaginaryPart;}/*** 含有实部参数和虚部参数的构造⽅法* @param realPart* @param imaginaryPart*/public Complex(double realPart, double imaginaryPart) { super();this.realPart = realPart;this.imaginaryPart = imaginaryPart;}/*** 读取实部* @return*/public double getRealPart(){return realPart;}/*** 设置实部* @param realPart*/public void setRealPart(double realPart){this.realPart = realPart;* 读取虚部* @return*/public double getImaginaryPart(){return imaginaryPart;}/*** 设置虚部* @param imaginaryPart*/public void setImaginaryPart(double imaginaryPart){this.imaginaryPart = imaginaryPart;}/*** 复数相加⽅法* @param complex* @return*/public Complex plus(Complex complex){return new Complex(this.realPart + complex.realPart, this.imaginaryPart + complex.imaginaryPart); }/*** 复数相减⽅法* @param complex* @return*/public Complex minus(Complex complex){return new Complex(this.realPart - complex.realPart, this.imaginaryPart - complex.imaginaryPart); }* @param complex* @return*/public Complex times(Complex complex){return new Complex(complex.realPart * this.realPart - complex.imaginaryPart * this.imaginaryPart,complex.realPart * this.imaginaryPart +complex.imaginaryPart * this.realPart);}/*** 复数相除⽅法* @param complex* @return*/public Complex divideBy(Complex complex){double dividedPart = (this.realPart * this.realPart +this.imaginaryPart * this.imaginaryPart);return new Complex((complex.realPart * this.imaginaryPart + complex.imaginaryPart * this.realPart) / dividedPart, (complex.imaginaryPart* this.realPart- complex.realPart * this.imaginaryPart) / dividedPart);}/*** 求共轭复数⽅法* @return*/public Complex conjugate(){return new Complex(this.getRealPart(),-this.getImaginaryPart());}/*** 重写toString⽅法,实现复数的输出格式*/String str = "";// 实部为零,虚部不为零if (this.realPart == 0 && this.imaginaryPart != 0){str += this.getImaginaryPart() + "i";}// 实部不为零,虚部为零else if (this.realPart != 0 && this.imaginaryPart == 0){str += this.getRealPart();}// 实部、虚部都不为零else if (this.realPart != 0 && this.imaginaryPart != 0){str += this.getRealPart() + (this.getImaginaryPart() > 0 ? "+": "") + this.getImaginaryPart() + "i"; }return str;}}测试类:Complexdemopackage studentTaskThree;/*** 测试类* @author Administrator**/public class ComplexDemo{/*** main⽅法,测试程序⼊⼝点* @param args*/public static void main(String[] args)* 创建两个完整复数对象*/Complex com1 = new Complex(1, 2);Complex com2 = new Complex(2, 1);// 创建⽆参复数Complex com3 = new Complex();// 创建只有虚部的复数Complex com4 = new Complex(5);// 输出对象System.out.println("复数1:" + com1);System.out.println("复数2:" + com2);System.out.println("复数3:" + com3);System.out.println("复数4:" + com4);// 输出相加结果System.out.println("复数相加:(" + com1 + ") + (" + com2 + ") = " + (com1.plus(com2)).toString()); // 输出相减结果System.out.println("复数相减:(" + com1 + ") - (" + com2 + ") = "+ (com1.minus(com2)).toString());// 输出相乘结果System.out.println("复数相乘:(" + com1 + ") * (" + com2 + ") = " + com1.times(com2));// 输出相除结果System.out.println("复数相除:(" + com1 + ") / (" + com2 + ") = " + com1.divideBy(com2));// 输出所求的共轭复数System.out.println("共轭复数: " + com1 + " 共轭复数是:" +com1.conjugate());}}实际测试类:import javax.swing.JOptionPane;/*** 实际测试类* @author Administrator**//*** 测试类⼊⼝点* @param args*/public static void main(String[] args){// 创建两个复数对象Complex com1 = new Complex();Complex com2 = new Complex();// 输⼊数据com1.setRealPart(Double.parseDouble(JOptionPane.showInputDialog("请输⼊复数1的实部:")));com1.setImaginaryPart(Double.parseDouble(JOptionPane.showInputDia log("请输⼊复数1的虚部:")));com2.setRealPart(Double.parseDouble(JOptionPane.showInputDialog("请输⼊复数2的实部:")));com2.setImaginaryPart(Double.parseDouble(JOptionPane.showInputDia log("请输⼊复数2的虚部:")));// 输出各个⽅法的测试结果JOptionPane.showMessageDialog(null, "复数应⽤测试如下:\n" +"复数1:" + com1 + "\n" +"复数2:" + com2 + "\n" +"复数相加:" + com1.plus(com2) + "\n" +"复数相加:" + com1.minus(com2) + "\n" +"复数相乘:" + com1.times(com2) + "\n" +"复数相除:" + com1.divideBy(com2) + "\n" +"共轭复数:" + com1 + " 共轭复数是:" +com1.conjugate());}}五、调试过程1.编译过程没有错误。

java实验报告——类与对象

java实验报告——类与对象
id=i; } public void setName(String n){
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实验报告3类与对象的使用

Java实验报告3类与对象的使用
charsex;
Stringdate;
voidinit(Stringusername,Stringname,charsex,Stringdate)
{
ername=username;
=name;
this.sex=sex;
this.date=date;
}
voiddisplay()
1学习类的一般结构2学习类的成员变量及成员方法的声明3学习对象的创建4学习调用对象的成员变量与成员方法5理解类的构造方法的作用和执行过程6学习方法调用时参数的传递7掌握方法的重载实验内容
Java语言程序设计实验报告
系别
班级
学号
姓名
地点
计算机科学系
课程名称
Java语言程序设计
实验名称
实验3类与对象的使用
}
publicvoidsetPassword(StringPassword){
this.password=password;
}
publicString getUsername(){
returnusername;
}
publicvoidsetUsername(Stringname){
ername=username;
{
System.out.println("用户名:"+username);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("出生日期:"+date);
}
voidmodify(Strቤተ መጻሕፍቲ ባይዱngusername,Stringname,charsex,Stringdate)

java 类与对象实验报告

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类与对象实验报告

AraAndlengBV3 drdejala ranglejava laderjavadlass Laderdouble above,bottcm,height,area;Lader(double a, double b,double habove=a;bottom=b;height=h;/ /方法体,将参数a,b,h分别赋值给above,bottom,heightdouble getArea()arealabove+bottom)/2*height;return area; 11方法体,,要求计算出areai返回uerava AreaAnuLengunyavaa型类变量b,即static 变量ba变量b二. 、学习实例成员与类成员的区别的简单例题:HH raLKagec l nierarcmy 日 年 マ hik罗 x t tsrc曲(default package)AjavaExamplejavaJRE System Library [idk1.6.0 11d 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 lo a t vo id setA (float a)this. a =a; / / 将 参 数 a 的 值 赋 值 给 成 员 变 量evo id{setB (f loatthis . k =b; b)/ / 将 参 数 b 的 值 赋 值 给 成 员}floatgetA()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 。

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类,并创建了多个对象。

我们可以通过对象名来访问对象的属性和方法,并对其进行操作。

我们还学习了构造方法的使用,以及封装性、继承和多态性的相关概念。

实验3Java面向对象编程(类与对象)实验

实验3Java面向对象编程(类与对象)实验

实验3Java面向对象编程(类与对象)实验实验3 Java面向对象编程(1)一、实验目的:1.掌握Java 面向对象编程的基础概念和编程方法2.掌握类的概念,属性和方法的定义注意:类的结构的设计,类的编写方法。

二、实验环境(硬/软件要求):通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.6.0(或以上版本),eclipse。

三、实验内容:编写并调试运行Java程序,进行类的设计,掌握构造函数及类的继承的设计方法。

本次可开始使用Eclipse进行程序开发。

四、实验主要步骤:(一)、编写一个Java Application程序,文件名为Rect_One.java。

目的:掌握类的结构,对象的引用,熟悉属性、方法的使用。

要求::1.建立一个类,①矩形的属性宽、高、面积、周长分别为width、height,S、L;②方法setBox( ),设置width和height的初始值,③方法getArea( ),计算矩形的面积S。

④方法getL( ),计算矩形的周长L。

2.在主类的main方法中,输出矩形的长、宽和面积、周长。

3.增加两个构造方法,对矩形进行初始化。

4.对构造方法分别进行测试。

(二)编写一个复数类,包含实部和虚部属性,还有复数相加、相减以及复数的求模、输出复数字符串”a+bi”。

(三)课后试验,教材实验3内容(2)设计银行账户类。

包括帐号、姓名、开户时间、余额,成员方法包括存款、取款、查询余额,计算利息等。

对所设计的类进行测试。

(四)编写一个描述学生基本情况的类属性包括姓名,学号,语文成绩,数学成绩和英语成绩,方法包括信息输出,设置姓名和学号,设置三门课程成绩,计算总成绩和平均成绩, 并对所录入的学生按照总分排序进行输出。

选作题:(五)设计实验验证有继承关系的三级父子类的构造方法和析沟方法的执行次序,并回答以下问题1 构造子类对象的时候会调用父类的构造方法吗?2 父类和子类构造方法的执行顺序?谁先执行?五、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1 独立完成参考程序的代码、编译、调试与运行六、实验报告形式(纸质/电子):1.本次试验报告采用手写一、二、三题代码(纸质A4纸),试验结果截图打印出来,附在试验报告后。

java类和对象的应用实验总结

java类和对象的应用实验总结

Java类和对象的应用实验总结在Java编程语言中,类(Class)和对象(Object)是两个核心的概念。

类是对象的模板或蓝图,而对象则是类的实例。

通过使用类和对象,我们可以创建具有共享属性和方法的实体,也可以创建具有独特属性和行为的实体。

以下是我对Java类和对象应用实验的一些总结:类的定义和使用:在Java中,我们使用class关键字来定义一个类。

例如,我们可以创建一个名为Person的类,该类具有name、age 和height等属性,以及eat()和sleep()等方法。

我们可以通过创建类的实例(即对象)来使用类。

对象的创建和使用:我们使用new关键字来创建一个类的实例,这个实例就是一个对象。

例如,我们可以创建一个Person类的对象,并通过调用对象的方法来执行特定的行为。

我们也可以通过访问对象的属性来获取或修改对象的状态。

继承:Java中的类可以继承其他类的属性和方法。

通过继承,我们可以创建一个新的类,该类继承了父类的所有属性和方法,并可以添加自己的属性和方法。

这个过程被称为类的扩展或继承。

多态:在Java中,一个对象可以被引用为多种类型。

例如,我们可以有一个父类类型的引用指向一个子类对象。

当调用这个对象的方法时,会根据对象的实际类型来调用相应的方法。

这就是多态性的体现。

封装:封装是Java中一个重要的面向对象编程概念。

通过封装,我们可以将数据(属性)和处理数据的方法(方法)绑定在一起,形成一个独立的实体。

封装的目的是增加安全性和简化性,用户只知道对象提供哪些方法,至于内部的具体实现细节则一概不知。

通过这些实验,我深入理解了Java的类和对象的概念,以及它们在面向对象编程中的重要性。

这些实验也帮助我理解了如何使用类和对象来设计和实现复杂的系统。

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类和对象实验
return y;
}
public void setY(int newY) {
y = newY;
}
public static void main(String[] args) {
System.out.println("静态变量x="+StaticDemo.getX());
//System.out.println("实例变量y="+StaticDemo.getY()); //非法,编译时将出错
c2.setRadius(5);
System.out.println("圆的面积是:"+c2.area());
System.out.println("圆的周长是:"+c2.circumference());
运行结果:
圆的面积是:3.14
圆的周长是:6.28
圆的面积是:78.5
圆的周长是:31.400000000000002
System.out.println("c1引用的牌是:"+c1+"\tc2引用的牌是:"+c2);
System.out.println("第11张牌是:"+cards[10]+"\t第13张牌是:"+cards[12]);
运行结果:
2.在主方法中用创建一个不指定半径的Circle类的实例myCircle2,输出它的周长和面积,然后利用修改半径的方法设置它的半径为5,再次输出它的周长和面积。
程序:
Circle c2=newCircle();
System.out.println("圆的面积是:"+c2.area());

JAVA实验报告_Java类与对象

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实验报告_实验二

Java实验报告_实验二

Java实验报告_实验⼆实验2 类和对象【实验宗旨】每天做⼀点编程练习。

【实验⽬的】1、学习和掌握Java创建对象的⽅法。

2、学习和掌握通过创建对象、使⽤类的⽅法。

3、学习和掌握Java类定义的⽅法。

4、了解类设计的⼀般原则。

【实验内容】1、(Java API类的应⽤)使⽤java.util.Random类,创建种⼦是1000的Random对象,然后使⽤nextInt(100)⽅法显⽰0到100 之间前50个随机整数。

【实验预习】创建Random对象,含有1000个种⼦,然后输出其中的前50个⽆输⼊,创建Random random = new Random(1000);利⽤for循环输出前50的随机数。

【实验过程及结果记录】import java.util.Random;public class JavaText {public static void main(String[] args) {Random random = new Random(1000);for (int i = 0; i < 50; i++)System.out.print(random.nextInt(100) + " ");}}【实验总结】练习产⽣随机数的⽅法(Random).2.(使⽤StackOfIntegers类,显⽰素数因⼦)编写⼀个程序,提⽰⽤户输⼊⼀个正整数,然后以降序显⽰它的所有最⼩因⼦。

例如:如果整数为120,那么显⽰的最⼩因⼦为5、3、2、2、2。

使⽤StackOfIntegers类存储因⼦(如:2、2、2、3、5),获取之后按倒序显⽰这些因⼦。

【实验预习】练习类的调⽤,使⽤StackOfIntegers类【实验过程及结果记录】import java.util.*;import java.awt.*;import javax.swing.*;public class zhiyinshu{public static void main (String[] args) {StackOfIntegers h1 =new StackOfIntegers(); StackOfIntegers h2 =new StackOfIntegers();String str=JOptionPane.showInputDialog(null,"请输⼊⼀个正整数","分解质因数",JOptionPane.QUESTION_MESSAGE); int yuanshu = Integer.parseInt(str);int i=2;int b=0;int c=0;do{i=2;b=0;do{if(yuanshu%i==0){yuanshu=yuanshu/i;h1.jilu(i);b=1;}i++;}while(b==0&&i}while(ih1.jilu(yuanshu);c=h1.getsize();for(int v=0;vh2.jilu(h1.esc());for(int v=0;vSystem.out.print(""+h2.esc()+"\n"); }}class StackOfIntegers {private int size;private int[] zhan;public static final int a=16;public StackOfIntegers(){this(a);}public StackOfIntegers(int n){zhan = new int[n];}public void jilu(int up) {if(size>=zhan.length){int[] temp = new int[zhan.length * 2];System.arraycopy(zhan,0,temp,0,zhan.length);zhan=temp;}zhan[size++]=up;}public int esc(){return zhan[--size];}public int getsize(){return size;}}【实验总结】练习了创建随机数的⽅法以及Java的输出⽅法,在编码的过程中还是经常出现⼤⼩写打错的情况。

实验3Java类与对象

实验3Java类与对象

实验3Java类与对象实验三类与对象一、实验目的1、掌握类和构造方法的定义2、理解静态和非静态成员变量的区别3、掌握创建类实例的方法4、理解Java中包的概念及其使用方法二、实验要求1.写一个名为Rectangle的类表示矩形。

其属性包括宽width、高height和颜色color,width 和height都是double型的,而color 则是String类型的。

要求该类具有:(1)使用构造函数完成各属性的初始赋值(2)使用getter和setter的形式完成属性的访问及修改提供计算面积的getArea()方法public class mianji {private double height;private double width;private String color;public double getHeight() {return height; }public void setHeight(double height) {this.height = height; }public double getWidth() {return width; }public void setWidth(double width) {this.width = width; }public String getColor() {return color; }public void setColor(String color) {this.color = color; }public mianji(double width,double height,String color){ this.setColor(color);this.setHeight(height);this.setWidth(width); }public void getArea(){double area=0;area=this.height*this.width;System.out.println("矩形的面积为"+area); }public String toString(){String recStr="矩形的高度:"+this.getHeight()+"宽度:"+this.getWidth() +"颜色:"+this.getColor();return recStr; }public static void main(String[] args) {mianji rec=new mianji(3, 4, "红色");rec.getArea();System.out.println(rec.toString());}}2. 运行以下两个程序,分析结果(从形参和实参传递在传递基本类型和引用类型时的差异来分析)(1)class TestReference{public static void main(String[] args){int x=2;TestReference tr = new TestReference();System.out.print(x);tr.change(x);System.out.print(x);}public void change(int num){num = num + 1;}}(2)public class Foo {public static void main (String [] args) {StringBuffer a = new StringBuffer (“A”); //创建一个字符串,内容为AStringBuffer b = new StringBuffer (“B”);operate(a,b);//调用了Foo类的一个类方法System.out.printIn(a + “,” +b);}static void operate (StringBuffer x, StringBuffer y) {x.append(y); //将在x后连接字符串yy = x;}}答:当你在定义一个方法的时候,比如void setter(int i){};其中的参数i就是形参形参是这个方法的局部变量只能在方法体中使用当你调用这个方法的时候,比如setter(a);此时a就是实参实参a把他的值传递给形参i基本数据类型实参传递给形参的是值对象实参传递给形参的是对象的引用3.运行以下程序(注意包的建立与使用)(1)编辑Calculate.java,设保存在D:\myjava目录下。

java类与对象实验报告

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 类和对象

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实验报告——对象和类

成绩:面向对象原理与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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、实验内容与步骤:
一.三角形、梯形和圆形的类封装:分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法。最后在主方法中为三角形、梯形和圆形类创建对象并打印输出各种图形的周长及面积。编写该程序的代码并将其放在几个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均运行。方法重写时注意方法的形式及其开头的代码不变,只把函数体的内容改变。
实验题目
类与对象
小组合作

姓名ห้องสมุดไป่ตู้
班级
学号
一、实验目的:
1.熟悉Java面向对象程序设计的基本思想。
2.掌握类与对象的定义及使用方法。
3.掌握package语句与import语句的用法。
4.掌握java继承中父类及其子类的定义方法。
5.掌握子类重写父类同名方法的方法。
6.掌握用法。
二、实验环境:
装有Myeclipse,windows xp的计算一台
相关文档
最新文档