当前位置:文档之家› Java实验8 类、对象基础知识

Java实验8 类、对象基础知识

Java实验8 类、对象基础知识
Java实验8 类、对象基础知识

实验8 类、对象基础知识

姓名班级学号

一、实验目的

1.熟练掌握类、对象的的概念以及对事物的抽象。

2.熟练掌握成员、方法的概念以及构造方法的概念。

3.熟练掌握封装性,多态性的概念

4.理解面向对象的程序设计方法。

二、实验内容与要求

1.运行下面的程序,理解面向对象的程序设计方法的基本概念。

class Value {

public int x,y;

public Value(int a,int b) {

x=a;

y=b;

}

}

public class Ch81 {

public static void main(String args[]) {

int total;

Value num=new Value(24,65);

total=num.x+num.y;

System.out.println("add="+total);

}

}

运行结果:add=89

2.构造方法的重载。对以下源文件进行改进,要求最终运行结果为:大家好,我叫韩强!

大家好,我叫晓英,我今年27岁!

源文件代码如下:

/**

* 构造方法的重载

*/

class Person {

String name;

int age;

// 定义两个参数的构造方法

public Person(String con_name, int con_age) {

name = con_name; // 为name属性赋值

age = con_age; // 为age属性赋值

}

// 定义一个参数的构造方法

public Person(String con_name) {

name = con_name; // 为name属性赋值

}

public void speak() {

// 打印name和age的值

System.out.println("大家好,我叫" + name + ",我今年" + age + "岁!");

}

}

public class Ch82 {

public static void main(String[] args) {

// 分别创建两个对象 p1 和 p2

Person p1 = new Person("韩强");

Person p2 = new Person("晓英", 27);

// 通过对象p1 和 p2 调用speak()方法

p1.speak();

p2.speak();

}

}

请对以上代码修改,并粘贴运行结果:

修改speak方法即可,代码如下:

public void speak() {

// 打印name和age的值

if(age==0)

System.out.println("大家好,我叫" + name + "!");

else

System.out.println("大家好,我叫" + name + ",我今年" + age + "岁!");

}

3.定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。定义主类,创建帐户类的对象,并完成相应操作。

参考代码如下:

//定义银行账户类

class BankAccount{

int id;

double leftMoney;

// 定义两个参数的构造方法

public BankAccount(int a,double b) {

id=a;

leftMoney=b;

}

public int getId(){

return id;

}

public double getLeftMoney(){

return leftMoney;

}

public void saveMoney(double money){

leftMoney+=money;

}

public void getMoney(double money){

if(money<=leftMoney)

leftMoney-=money;

else

System.out.println("您只能取:"+leftMoney+"元。");

}

}

//定义主类

public class MyBank{

public static void main(String[] args) {

System.out.println("-------欢迎进入×××银行--------");

BankAccount ba=new BankAccount(888123,1000);

System.out.println("您当前的帐号为:"+ba.getId());

System.out.println("您当前的余额为:"+ba.getLeftMoney()+"元");

ba.saveMoney(21000);

System.out.println("存入21000元后余额为:"+ba.getLeftMoney()+"元");

ba.getMoney(11500);

System.out.println("取出11500元后余额为:"+ba.getLeftMoney()+"元");

}

}

运行结果:

4.先创建一个Point类,然后定义Triangle类。在Triangle类中定义三个Point的实

体来表示一个三角形的三个点,再定义一个方法setTri对这三个点进行初始化,然后定义两个方法求三角形的周长、面积。在main()中创建一个对象,求给定三点的三角形的周长、面积。

参考代码如下:

三、思考题

1.一个方法或一个块内定义的变量是否可以在方法外或块外使用?这种变量称为什么?方法的形式参数是否可以在方法之外使用?

答:不可以在外面使用,这个是局部变量,要是想要在外面使用可以定义一个全局变量,方法的形式参数不可在外面使用。

2.为什么说构造方法是一种特殊的方法?特殊在哪里?构造方法什么时候执行?被谁调用?

答:在java语言中,构造方法又称构造函数。特殊性在于,与普通方法的区别是,他与类名相同,不返回结果也不加void返回值。构造方法的作用是初始化对象,即在创建对象时被系统调用(与普通方法不同,程序不能显示调用构造方法)。构造方法还能够被重载,即可以传入参数,当程序中包含有带参的构造方法时,系统将不会再提供的无参构造方法。

3.子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?

答:方法重写。

4.同名的不同方法共存的情况称为什么?如何区分这些同名方法?

答:一般来说,分为两种情况。

一是在同一个类里面有两个或两个以上的同名的方法,这些方法的名字相同,但参数不同,这种情况中叫重载。当你调用方法时,会根据你传进去的参数的类型来决定调用哪个方法。

二是一个类继承了另外一个类,子类中有和父类中一样的方法,这两个方法不仅名字相同,参数也相同,这种情况叫方法覆盖。也就是在子类中重新定义父类中已有的方法。当你创建一个子类的实例后调用这个方法,就会按照你在子类中新定义的方法来实现。

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

实验2:Java面向对象程序设计

实验2:Java面向对象程序设计(一) 实验目的 ●掌握类的定义;掌握构造方法的使用;掌握对象的创建。 ●掌握静态变量与静态方法的使用;了解静态变量和成员变量的区别。 ●熟悉访问修饰符的作用;掌握访问修饰符的使用方法。 ●掌握方法的重载;掌握访问器get/set方法。 实验步骤 一、类和对象的创建 1.创建一个圆类,成员变量有半径radius和圆周率pi,提供计算圆面积的方法,并在main方法中创建圆类的对象,调用其计算面积的方法进行测试。 2.编写上述代码,编译运行代码,查看程序执行结果。 ●试述程序中两个类的各自作用。 ●类Circle都封装了什么?求圆面积的初始数据是通过哪个方法实现的?请修改程序采用构造函数的方法初始化数据。 ●类Circle是如何声明的?在类中都声明了什么?在主函数中是如何创建Circle类对象的? 二、静态变量和静态方法的设计 (一).静态变量和实例变量练习 1.创建一个类,类名为StaticVariableTest,包含static变量和实例变量,类型为int型,在main方法中分别调用这2个变量并且输出结果。 2.部分源代码如下: 3.将上述代码中的main方法补充完整后,编译运行代码,查看程序执行结果。 ●根据完善后的源码,分析调用静态变量和实例变量有什么不同? (二).静态方法和实例方法练习 1.创建一个类,类名为StaticMethodTest,包含一个静态方法和一个实例方法,在main方法中分别调用这个两个方法进行测试。 2.部分源代码如下:

3.将上述代码中的main函数补充完整,编译运行代码,查看程序执行结果。 ●根据完善后的源码,分析如何调用静态方法和实例方法? 三、访问修饰符与方法的重载 (一).访问修饰符练习 1.创建一个Person类,在该类中用不同的访问修饰符设立不同的person属性,再创建一个PersonTest类,包括main方法,在此类中分别访问Person类中各个属性。 2.源代码如下: 3.先填写下面的表格,在预测结果中,如果能打印输出,填写程序输出结果,否则填“N”。 ●记录程序运行结果。 表4-3-1预测和验证结果 4.编写上述代码,编译运行代码。在上表中填写程序验证结果。 ●访问private变量时,编译会出现什么问题,为什么? ●通过什么方式能访问private变量?编程实现访问Person类中的private变量。

实验一java基础知识

实验一:java基础知识 实验目的: 1.掌握jave中变量的类型。 2.掌握常用的运算符 3.程序流程控制:顺序,选择和分支 实验内容: 1、回文数: 编写一个Java程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指该数含有的数字逆序排列后得到的数和原数相同。 实验类别:验证性 2、猜数字游戏 编写一个Java应用程序,实现如下功能: 程序随机分配给客户一个1-100之间的整数 用户在输入对话框中输入自己的猜测 程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了” 实验类别:设计性 3、输出希腊字母表 为了输出希腊字母表,首先获取希腊字母表的第一个字母和最后一个字母在unicode表中的位置,然后使用循环输出剩余的希腊字母 要观察一个字符在uniclde表中的顺序位置 实验类别:设计性

实验二类和对象 实验目的: 1.理解类的基本概念。 2.掌握如何定义类,定义类的成员变量和成员方法.创建和使用对象。 3.掌握定义重载方法和构造方法,方法参数的传递。 4. static变量和方法的使用。 实验内容: 1、定义一个名为Rectangle的类表示矩形,其中含有length,width两个double型 的成员变量表示矩形的长和宽。要求为每个变量定义访问方法和修改方法,定义求矩形周长的方法peremeter和求面积的方法area。定义一个带参数构造方法,通过给出的长和宽创建矩形对象。定义默认构造方法,在该方法中调用有参构造方法,将矩形长宽设置为1.0。 实验类别:验证性 2、方法重载: 编写一个Java程序,反映方法重载的使用特点,该程序包含多个重载的加法的运算,如整型加法,实型加法。 实验类别:验证性 3、学生类的创建: 1)创建一个student类,包括的域有学号、班号、姓名、性别、年龄等 2)声明一个构造方法,以初始化对象的所有域 3)声明分别获得各属性(学号、班号、姓名、性别、年龄)的各个public方法。4)声明修改各属性(学号、班号、姓名、性别、年龄)的各个public方法。5)创建一个具体学生对象,进行输出。 实验类别:设计性 4、定义一个类,类中有两个整型变量x和y,并定义构造函数初始化这两个变量。(通过构造函数传数据,数据值自定) 类中还可定义以下方法: 求两个数的和(x+y)并返回结果,求两个数的差(x-y)并返回结果,求两个数商(x/y)并返回结果,求两个数的余数(x%y)并返回结果,求两个数的最大值并返回结果。 编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。实验类别:验证性 5、用set()、get()方法传递数据: 本工程共有三个类,Person类、Employee类、和Test类,其中Test类 为测试类,其中有main()方法。 调用的是默认的构造方法,参数为空。 实验类别:设计性

完成Java面向对象程序设计实验课的心得体会范文

Java面向对象程序设计实验课的心得体会经过这几周对Java面向对象程序设计的学习,让我更加了解到Java学习的重要性。 在实验课上,我们完成多个实验,在这个阶段的学习中,我从认识到熟悉,而后到能够自主运用。通过对Java的了解,我发现它确实有很多方便之处,它集抽象性、封装性、继承性和多态性于一体,实现了代码重用和代码扩充,提高了软件开发的效率。对于我们这个专业来说学好Java语言是很重要的,所以在实验的过程中我都尽力理解java编程思想、掌握基本技巧,尽量学到最多的知识。 学习程序设计的基本目的就是培养描述实际问题的程序化解决方案的关键技能,Java面向对象程序设计是一门实践性比较强的课程,在实际中,我们必须把理论和实践结合起来。在实验中,我们理解理论课上的知识,然后运用到实际的操作中,我们必须在现有的理论的基础上,进行实践。多次实验后,也让我看到了现在学习的一个很大弱点:只听不练,永远不会熟练运用;空记技巧,忽略思想,会在多变的习题中十分无奈。 Java思想:Java是一门面向对向语言,他定义一切都是对象面向对象,就是面对现实; 现实中的一切都是对象,他们有分类,就产生了“类”; 他们有不同,类和类之间的不同,使用类来区分; 同一个类中不同的对象的区别,使用成员区分。

所以,面向对象的内部逻辑是分类。 面向对象编程思想就象数学上的一些概念,如:空间、群、环、域等 原始的编程思想就象古典数学,人们只在一个集合上探讨问题,没有系统的方法(即运算)定义,于是仁者见仁、智者见智,这样在一定程度上造成了理论的一种混乱局面,不利于科学的发展。于是近代数学向公理化发展,这是什么意思呢?就是说,人们除了在限定论域(即上面的集合,面向对象也有此概念)外,还在此论域上加进了一套通用的、公认的运算(方法);集合加上集合上定义的运算就构成了数学上的空间、群等,在计算机领域里,就变成为“类”。这种集合上定义了操作的东西利用起来就方便多了,这使得人们讨论问题时都在给定集合的运算能力上下工夫,即有通用性可事半功倍。 面向对象的编程思想就要想近世代数的分析思想,首先要确定“论域”,即工程所涉及到的所有的“对象”,然后要分类处理,把隶属同一类别的对象集合在一起(做成一个集合),定义他们之间的运算性质及可以进行的操作,这样就构建了一个类,当然以后用到这个类的对象时都要通过已经定义了的操作来完成各项功能,这就是常要求的类的“类的成员变量要通过共有函数来操作”。 我想真正的面向对象编程思想不应该是编程思想,应该是面向对象的分析方法才对! 我的理解: 1、将分析过程为抽象的过程:简言之:分成多个小问题(组成部分),

Java实验 类和对象

一、实验目的 掌握类和对象的定义,以及它们之间的关系 学习类中属性和方法的设计 会用UML图来对类进行描述 熟悉修饰符的作用,会用set/get方法对数据进行封装 二、实验要求 设计一个名为Rectangle的类表示矩形。这个类包括: ?两个名为width和height的私有double型数据域。用来表示宽、高。默认值为1.0。 ?创建默认矩形的无参构造方法。 ?一个创建width和height为指定值的矩形的构造方法。 ?一个名为GetArea()的公有方法返回矩形面积double ?一个静态的Compare方法,比较两个矩形的面积大小是否相等并返回一个布尔型结果,相等返回true,不等返回false; 画出UML 类图,实现Rectangle类,编写测试程序创建两个Rectangle类的对象。第一个对象的width为1,height为1;第一个对象的width为5,height为6。调用compare方法判断两个矩形是否相等并显示结果。 三、实验内容 1.使用Jude工具绘制UML图

2.编写代码实现类Rectangle package edu.neu.li.test; publicclass Rectangle { privatedouble width; privatedouble height; public Rectangle() { this.width = 1.0; this.height = 1.0; public Rectangle(double width, double height) { this.width = width; this.height = width; } publicdouble GetArea() { returnthis.width * this.height ; } publicstaticboolean Compare(Rectangle rec1, Rectangle rec2) { if(rec1.GetArea()==rec2.GetArea()) { returntrue; } returnfalse; } }

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.doczj.com/doc/f51470730.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

java面向对象编程实验报告

java面向对象编程实验报告 篇一:java面向对象编程实验报告 信息工程学院 Java程序设计实验/实习报告 学院:信息工程学院班级:信息112 姓名:吴连梅学号:XX013305 成绩:A 实验二面向对象编程 1.实验目的 (1)掌握类与对象基本知识; (2)Java中的继承机制及包(package)、接口(interface)等的设计方法; (3)掌握static、this、super等关键字的使用; (4)掌握Java中两种比较器的用法。 2.实验内容 实验题 1 定义一个类Book,包含两个属性:一个是private的String类型的属性title、一个是private的float类型的属性listPrice,封装这两个属性的四个方法setTitle()和getTitle()、setListPrice( )和geListPrice ()。 基本要求: (1)设计类Book及类BookManagement,在类BookManagement中输出Book类的对象的两个private属性;

(2)重写父类的toString()方法,实现Book类实例的两个属性的输出。 实验过程: 新建工程后,在工程下面建立一个包Book,在包下再建立一个Book类,类中包含两个属性,一个是private的String类型的属性title、一个是private的float类型的属性listPrice,之后是封装这两个属性的四个方法,用快捷键Alt+Shift+S选择gennerate Getters and Setters,再实验报告的内容与格式按任课教师的要求书写。 然后就是重写父类的toString()方法,用快捷键Alt+Shift+S选择gennerate toString,快捷重写。 这段程序写完是这样的: 接下来便是BookManagement类,在包book下新建一个类BookManagement, 写完的程序是这样的: BookManagement类中创建了书的对象,在主方法中调用output函数,赋值,输出。程序写完后,将其存盘,再进行运行,得出的结果如下: 实验题2 有两个类:MobileManagement和Mobile,分别描述如图 3.4所示两部手机名称及价格,类MobileManagemen(本文来自:小草范文网:java面向对象编程实验报告)t在包,而Mobile在包

实验5Java常用类(一)

实验5 Java类库和常用类(一) 一. 实验目的及实验环境 1理解类库的概念,掌握分析、应用类库中的类的方法。 2熟练掌握Math类的常用方法。熟悉Random类的常用方法。 3理解String类的特性,熟练掌握String类的常用方法。 4能用Date类创建对象,熟练掌握Date类的常用方法。 5熟练掌握SimpleDateFormat解析日期和设置日期输出格式。 6学会查阅Java API在线参考文档和离线文档的方法。 二. 实验内容 1 基本内容(实验前请及时熟悉如下相关内容) 1)练习使用Math类的常用方法。 2)应用String类编程练习。 3)编写程序应用Random类生成随机数。 4)练习使用Date类的常用方法。 5)查阅Java API在线参考文档和下载Java API离线文档。 示例1. 应用SimpleDateFormat类的程序示例如下,共同学们模仿参考。 import java.text.*; import java.util.Date; public class FormatDateTime { public static void main(String[] args) { SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒"); SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm"); SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 等价于now.toLocaleString() SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒 E "); SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天一年中第w个星期一月中第W个星期在一天中k时 z时区"); Date now = new Date();//当前时间 System.out.println(myFmt.format(now)); System.out.println(myFmt1.format(now)); System.out.println(myFmt2.format(now)); System.out.println(myFmt3.format(now)); System.out.println(myFmt4.format(now)); System.out.println(now.toGMTString());//The method toGMTString() from the type Date is deprecated. System.out.println(now.toLocaleString()); System.out.println(now.toString()); } }

实验四 Java知识

实验四java知识 本实验目的是练习如何创建Java 的基本语法,以及面向对象的知识,为后续的实验作好准备工作。 【课堂练习】一 (1)对数组排序 【实验效果】 根据实验要求,您必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,如:http://localhost:8080/sort.jsp 【课堂练习】Java面向对象思想 课堂练习——包创建和引用 案例:新建Project项目,在该项目中创建aa.bb包,然后再引入java.util包中的Date类,并创建ShiJian类,练习包的创建和引用。 课堂练习——相同包之间的访问 案例:在已经建立Project项目中创建mr.bbb包,然后在该包中创建Test和ImpTest两个类,测试同包之间类的访问。 课堂练习——不同包中类之间的访问 案例:在已经建立Project项目中创建mr.aaa包和mr.zzk包,然后分别在包中创建Exam 和ImpExam两个类,测试不同包之间类的访问。 课堂练习——final变量 案例:在已经建立Project项目中创建mingri包,并在该包中创建T1类,在该类中定义一个final变量,然后再主方法中创建T1类的实例,并测试能否改变final变量的值。

课堂练习——final方法 案例:在已创建的项目Project的包mingri中创建T1类的之类ExT1,然后再ExT1类中测试是否能重写父类T1中的final方法。 课堂练习——继承性 案例:在项目的包aaa中创建A和B两个类,使类B是类A的子类,然后在子类B中创建B的实例,并通过该实例分别调用类A和类B的方法,掌握继承的原理。 课堂练习——抽象类 案例:在项目的包aaa中创建抽象类Example及其子类SubExample,在抽象类Example 中分别定义一个成员方法和一个抽象方法,并在子类中进行测试。 课堂练习——权限访问 案例:在项目的包aaa中创建类Exm,在该类中分别定义4种权限修饰符的成员变量并附初值,然后在主方法中创建类的实例,并分别输出这4个成员变量的值,测试上述4种权限修饰符的成员变量在当前类中的可见性。 案例:在项目的包aaa中创建类SameExm,也就是和前一个例子中创建的Exm类都放在同一个包aaa中,然后在SameExm类的主方法中创建类Exm的实例,并分别输出类Exm中4个成员变量的值,测试上述4种权限修饰符的成员变量在相同包的其他类中的可见性。

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,并创建相应的对象,然后计算圆柱体的底面积与体积。

JAVA类与对象实验报告(2)

西安财经学院信息学院 《Java 程序设计》 实验报告 实验名称 类与对象 实验室 实验楼521 实验日期 2012年4月10日 类与对象 一、实验目的 1、掌握类的定义和使用,编写构造方法及成员方法。 2、能够创建类的实例,掌握对象的声明和不同访问属性的成员访问方式。 3、会定义接口、实现接口。 二、实验内容 1. 在java 中,定义一个接口,声明计算图形面积和周长的抽象方法,再用类去实现这个接口,再编写一个测试类去使用这个接口。 2. 设计并实现一个课程类,代表学校中的一门课程,将这门课程的相关信息组成该类的属性(如课程代码、课程名称、课程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。 三、实验环境 以Windows 环境为平台,使用JDK 5.0 四、实验步骤 姓名 学号 班级 年级 指导教师

五、实验结果 六、小结 通过掌握类的定义和使用,编写构造方法并且实现创建类的实例,掌握对象的声明和不同访问属性的成员访问方式以及定义接口、实现接口,通过此次实验让我发现了我对类的定义及其运用都不够熟练,对课本的熟悉度还远远不够,在课后应该及时的复习和上机操作是我们的必修课,这样才能让我们进一步的掌握类与对象。

七、源程序 1、interface Shape{ //定义Shape接口 final double pi=3.14; //数据成员一定要初始化 public abstract double area(); public abstract double girth(); //抽象方法,不需要定义处理方式} class Circle implements Shape{ double radius; public Circle(double r){ //构造方法 radius=r; } public double area(){ return (pi * radius * radius); } public double girth(){ return (2 *pi * radius); } } public class InterfaceTester { public static void main(String args[]){ Circle cir=new Circle(3.0); System.out.println("Area of cir = " + cir.area());

作业1—java基础实验——参考答案

1、从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。 参考答案 具体代码实现如下: 1.package programe; 2. 3.import java.io.BufferedReader; 4.import java.io.IOException; 5.import java.io.InputStreamReader; 6. 7.public class HuHuanDemo { 8.public static void main(String args[]) { 9. print(); 10. 11. } 12. 13.public static int[] write() { 14. BufferedReader[] buf = new BufferedReader[10];/* 申请缓冲数组 */ 15.int n;/* 开关量和中间量 */ 16.int array[] = new int[10]; 17.for (int i = 0; i < 10; i++)/* 赋值 */ 18. { 19. buf[i] = new BufferedReader(new InputStreamReader(System.in)); 20./* 给每个缓冲区定义 */ 21.do/* 判断是否是空串,如是则重新输入 */ 22. { 23. n = 1; 24. System.out.print("请输入第" + (i + 1) + "个整 数:"); 25.try/* 建立一个异常捕获 */ 26. { 27. array[i] = Integer.parseInt (buf[i].readLine());/* 执行串变整数 */ 28./* 29. * Integer.parseInt(str) - str 转成 int型 buf[i].readLine() - 30. * 从系统输入缓冲区读入字符流给 buf缓冲区并返回字符串 31. */

JAVA实验报告_实验3_类与对象_

Java Object-Oriented Programming Experimental Report

System.out.println ("Your lucky numbers are " + lucky1 + ", " + lucky2 + ", and " + lucky3); } } 3.2 Working with Strings(Choose to do) 3.3 Rolling Dice 3.4 Computing Distance 3.5 formatting Output

3.6 Playing with Cards(Choose to do) 3.7 Experimenting with the Integer Class(Choose to do) 3.8 Nested Panels (1)宽度两倍 (4)添加主界面宽度高度设定 (5)添加MyPanels

4.Experimental results and data processing 5.Analysis and discussion Score: 6.Teacher Reviews Signature: Date: Experimental Report List 1Exercises 1) Source code list 3.3 package test_java_03; import java.util.Random; public class point3_3 {

public static void main(String[] args) { Random ger = new int lucky1, lucky2, lucky3; lucky1 = ger.nextInt(6)+1; lucky2 = (int)(ger.nextFloat()*6)+1; lucky3 = (int)(ger.nextFloat()*10)+20; System.out.print(lucky1+lucky2); } } 3.4 package test_java_03; import java.util.Scanner; public class point_3_4 { public static void main (String[] args) { double x1, y1, x2, y2; double distance; Scanner scan = new Scanner(System.in); System.out.print ("Enter the coordinates of the first point " + "(put a space between them): "); x1 = scan.nextDouble(); y1 = scan.nextDouble(); System.out.print ("Enter the coordinates of the second point: "); x2 = scan.nextDouble(); y2 = scan.nextDouble(); double y=Math.abs(y2-y1)*Math.abs(y2-y1),x=Math.abs(x2-x1)*Math.abs(x2-x1); double z=Math.sqrt(y+x); System.out.print("The distance between the two points is "+z); } } 3.5 package test_java_03; import java.util.*; import java.text.NumberFormat; import java.text.DecimalFormat; public class point_3_5 { public static void main (String[] args) { final double OUNCES_PER_POUND = 16.0; double pricePerPound; double weightOunces;

实验一 Java编程环境使用(汽院含答案)

实验一Java编程环境使用 实验目的 1.掌握Java运行环境的配置 2.掌握Java程序的编写、编译、运行等过程 3.熟悉Java语言的基本语法和运行原理 4.掌握Java的基本数据类型、表达式和程序控制结构 5.熟悉Eclipse开发环境的基本使用方法 实验导读 1.Java的标准输入和输出流 https://www.doczj.com/doc/f51470730.html,ng.System类提供了三种有用的标准流:标准输入流(System.in)、标准输出流(System.out)和标准出错流(System.err)。通过他们可以实现数据的输入输出操作。 1)标准输入流(System.in) 通常用于读取用户从键盘输入或用户定义的输入设备的输入。类java.util.Scanner 结合System.in实现对指定数据的输入。 2)标准输出流(System.out) 用于程序的输出,通常用来在屏幕或用户指定的输出设备上显示信息。有两种典型用法:System.out.print(data)实现在当前位置输出数据,System.out.println(data)实现换行输出数据到屏幕或用户定义的输出设备。 3)标准出错流(System.err) 用于显示出错信息,采用System.err.print(data)或System.err.println(data)将指定的data输出到指定的输出设备,默认设备为屏幕。 2.javax.swing.JOptionPane 对话框式的输入和输出,可以提供较好的界面处理。能通过弹出一个标准对话框,来提示用户。可以通过这个性质来实现具有对话框显示效果的数据输入和输出。例如:String str=JOptionPane.showInputDialog("输入您的猜测:"); 3.java.util.Scanner java.util.Scanner类可将文本转换成原语或字符串。Scanner对象通过next()系列方法将文本标识转换成不同类型的值。通常和标准输入流(System.in)结合,允许用户通过标准输入流读入数据。Scanner类提供的方法:nextByte()、nextshort()、nextLong()、nextDouble()、nextFloat()、nextInt()等。例如: Scanner scanner=new Scanner(System.in); int i=https://www.doczj.com/doc/f51470730.html,Int(); //从键盘输入一个整数 scanner.close(); 4.Java Applet小应用程序 Java Applet必须由浏览器来运行,因此必须编写一个超文本文件(含有applet标记的Web页),通知浏览器来运行这个Java Applet。下面是一个简单的HTML文件,使用记事本编辑如下:

Java基础学习知识检验测试实验检查题(内容规范标准答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();}

3. 下面哪个函数是public void aMethod(){...}的重载函数?( D ) A、void aMethod( ){...} B、public int aMethod(){...} C、public void aMethod ( ){...} D、public int aMethod ( int m){...} (重载:定义同名的方法,方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同) 4. A派生出子类B,B派生出子类C,并且在Java源代码中有如

下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的?( D ) A、只有第1行能通过编译 B、第1、2行能通过编译,但第3行编译出错 C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的 (A是B的父类,也算是C的父类) 5. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) A a = new A(); class A { int i; static String s; void method1() { } static void method2() { } } A、System.out.println(a.i); B、a.method1(); C、A.method1(); D、A.method2() ;(A是类名,应该调用对象a) 6. 有如下代码段: 1)

JAVA基础实验编程

Java实验报告 实验日期:2011年10月17日实验机房与机号:___________ 实验班级: ________ 组员姓名学号:指导教师:刘寿强 第三单兀 实验目的:掌握陈述面向对象的思想,通过创建类的实力来体现 实验内容:第三单元; 实验步骤: 3-2 class Dog{ String color; int weight; public Dog(String color,int weight){ this.color=color; this.weight=weight; } public void showd(){ System.out.println(”这是体重为"+weight+"斤,"+"颜色为"+color+"的狗"); } } class Cat{ String color; int weight; public Cat(String color,int weight){ this.color=color; this.weight=weight; } public void showc(){ System.out.println(”这是体重为"+weight+"斤,"+"颜色为"+color+"的猫"); } } public class A{ public static void main(String[] args){ Dog d1= new Dog("黄色",100); Cat c1= new Cat(" 白色",200); d1.showd(); c1.showc(); } } 3-3 class Car{ String ping; double price; String date; public Car(String ping,double price,String date){ this.ping=ping; this.price=price;

实验3 Java类与对象

实验三类与对象 一、实验目的 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());}

相关主题
文本预览