实验四 Java类的编写及对象的创建

实验四 Java类的编写及对象的创建
实验四 Java类的编写及对象的创建

天津天狮学院

Java程序设计实验

实验题目:实验四Java类的编写及对象的创建学时:2学时

学号:122031110

姓名:张阳

成绩:

专业班级:2012级计算机应用技术

实验4:Java类的编写及对象的创建

一、实验目的

1、掌握Java类的声明方法、Java对象的声明与访问及使用。

2、掌握构造器的使用以及参数传递、this关键字的使用。

二、实验要求

1、实验前认真预习,完成实验内容2中的源程序并分析运行结果。

2、在记事本里完成程序的编辑,利用JDK6.0完成程序的编译、运行,获得程序结果。要求在实验报告中记录所有程序实际运行结果。

3、按照实验内容中各个题目具体要求,认真完成实验报告。

三、实验内容

1、启动记事本。

2、完成以下题目

1)下面定义一个Student类,在这个类中,定义了4个成员变量No、name、sex和birthday,分别用于描述学号、姓名、性别与出生日期;定义了4个用于设置学生信息的成员方法、定义了4个用于获取信息的成员方法、定义了一个用于对学生信息初始化的构造函数。

要求:仿照上述方法定义一个Date类,在该类中,含有3个成员变量,分别是year、month、day,分别表示年、月、日,3个用于设置日期的成员方法,3个用于获取日期的成员方法以及一个设置日期的构造函数。

package显示时间日期;

import java.util.*;

public class Date{

private int year,month,day;

public Date(){

}

public void input_Date(int year,int month,int day){

this.year = year;

this.month = month;

this.day = day;

}

public void output_Date(){

1

System.out.println("日期是:"+year+"年"+month+"月"+day+"日"); }

//测试类

public static void main(String args[]){

Date date = new Date();

Scanner input = new Scanner(System.in);

System.out.println("请输入年月日:");

int year = input.nextInt();

int month = input.nextInt();

int day = input.nextInt();

date.input_Date(year,month,day);

date.output_Date();

}

}

2)定义一个Employee类,要求将一个雇员的姓名、性别、年龄、部门、住址等信息通过构造器(构造函数)进行初始化,并将雇员所属的公司定义为静态变量,通过一个静态方法输出该公司名。

public class Employee {

private String employeeId;

private String employeeName;

private String sex;

private String deptName;

private String dutyName;

private String allToStr;

public String getDeptName() {

return deptName;

}

public void setDeptName(String deptName) {

this.deptName = deptName;

}

public String getDutyName() {

return dutyName;

}

public void setDutyName(String dutyName) {

this.dutyName = dutyName;

}

public String getEmployeeId() {

return employeeId;

2

}

public void setEmployeeId(String employeeId) {

this.employeeId = employeeId;

}

public String getEmployeeName() {

return employeeName;

}

public void setEmployeeName(String employeeName) {

this.employeeName = employeeName;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public String getAllToStr() {

allToStr = employeeId + employeeName + sex + deptName + dutyName;

return allToStr;

}

public static void main(String args[]){

Employee e = new Employee();

e.setEmployeeId("1||");

e.setEmployeeName("张三||");

e.setSex("男||");

e.setDeptName("研发部||");

e.setDutyName("软件工程师");

System.out.println(e.getAllToStr());

}

}

3

3)定义两个Java类,

1))一个圆(Circle)类,具有两个double属性,即pi(圆周率)和r(圆半径),并在其中定义至少三个方法qarea、qzhouchang、display,分别用于求圆的面积和周长以及显示面积和周长值。

2))一个Main类,包含一个Circle类的实例(对象),通过该对象调用Circle类的相应方法,对于指定半径的圆,输出其面积及周长值。

import java.util.*;

public class Circle {

private double r;//圆的半径

public Circle(double r)

{

this.r = r;

}

//求圆的面积

public double getArea()

{

return Math.PI*r*r;

}

//求圆的周长

public double getPerimeter()

{

return 2*Math.PI*r;

}

public static void main(String args[]){

System.out.println("圆的半径:10");

Circle c1 = new Circle(10.0);

System.out.println("圆的面积:" + c1.getArea());

System.out.println("圆的周长:" + c1.getPerimeter());

System.out.println("\n圆的半径:20");

Circle c2 = new Circle(20.0);

System.out.println("圆的面积:" + c2.getArea());

System.out.println("圆的周长:" + c2.getPerimeter());

}

}

4

实验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类的继承实验报告

《面向对象程序设计》实验报告 实验六、类的继承 课程代码:1H10500学分:6 实验类型:实践型实验学时:4个学时 实验时间:2017.11.23 实验地点:5407 班级:计算机164 专业:计算机科学与技术专业学号:2016011147 姓名:林文辉 一、实验目的 (1)学习JAVA继承的思想 (2)了解JAVA语言继承的实现 二、实验内容及步骤 内容:在圆柱体类Cylinder里,用一个构造方法调用另一个构造方法 步骤:方案的设计与分析(类结构图。。。。。。) (1)找出对象的共同属性和行为 (2)设计代表共同状态与行为的类 (3)决定子类是否需要让某项行为有特定的不同的运行方式 (4)寻找更多抽象化的机会 (5)完成类的继承层次 三、实验过程及结果 实验1代码: abstract class Graphics { abstract void parameter(); abstract void area(); } class Rectangle extends Graphics{ double h,w; Rectangle(double u,double v){h=u;w=v;} void parameter() { S ystem.out.println("矩形高度为:"+h+",矩形宽度为:"+w); } void area() { S ystem.out.println("矩形面积为:"+(h*w)); } }

class Circle extends Graphics{ double r; String c; Circle(double u,String v){r=u;c=v;} void parameter() { System.out.println("圆半径为:"+r+",圆颜色为:"+c); } void area() { System.out.println("圆面积为:"+(Math.PI*r*r)); } } class ExamAbs{ public static void main(String args[]) { Rectangle rec=new Rectangle(2.0, 3.0); Circle cir=new Circle(4.0, "Red"); Graphics[]g= {rec,cir}; for(int i=0;i

JAVA类和对象的关系

1、JAVA中的参数传递问题(理解内存图) 基本类型:形式参数的改变对实际参数没有影响 引用类型:形式参数的改变直接影响实际参数 2、面向对象(理解,升就业班问说说什么是面向对象和思想特点) 1、面向对象(从三点回答) A面向过程是以函数为基础,完成各种操作,强调的是过程 B面向对象以对象为基础,完成各种操作,强调的是对象,结果 C面向对象是基于面向过程的 2、面向对象的思想特点: a)是一种更符合人们思考习惯的思想 b)把复杂的事情简单化 c)把我们从执行者变成了指挥者 3、举例: a)买电脑 b)洗衣做饭 c)旅游 d)把大象装进冰箱(伪代码体现) 4、事物是如何体现的 a)属性有哪些特征名词提取法 b)行为有哪些功能 5、类与对象的关系(掌握) 把事物转换成类 A:成员变量 定义在类中,方法外 B:成员方法 和以前的区别是去掉static 把这个说完还没有说道类与对象的概念,对不对 类:是相关的属性和行为的集合,集合就是一堆东西,是一个抽象的概念 对象:是某种事物的具体的存在,具体的表现形式 举例: 学生:类 对象:小明 6、案例 A学生类 B手机类 C汽车类(在这里画了内存图,有空看一下) 7、如何使用呢 a)创建对象 i.格式 a)类名变量= new 类名() b)使用成员变量和成员方法

i.对象名.成员变量 ii.对象名.成员方法 8、成员变量和局部变量的区别(理解) A 定义位置 成员变量:在类中方法外 局部变量,在类中方法中,或者方法上的形式参数 B 初始化的区别 成员变量:有默认的初始化值 局部变量:无 C 存储位置 成员变量:堆随着对象的存在而存在 局部变量:栈随着方法的存在而存在 9、匿名对象 a)概念:没有名字的对象 b)使用场景 i.当对象中的方法只掉用一次的情况下使用(一般不用,测试时使用)new Student().sayHello(); ii.匿名对象作为实际参数传递

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

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

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

JAVA基础-第3章类与对象-练习题-200910

第3章类与对象 一.选择题 1.下列不属于面向对象编程的特性是(D)。 A.封装性 B. 继承性 C. 多态性 D. 编译执行 2.下列类的声明中不合法的是(C)。 A. class People{…} B. class 植物{…} C. Class A{…} D. public class 共有类{… 3.下列方法的声明中不合法的是(C)。 A. float area(){…} B. void area(){…} C. double area(d){…} D. int area(int r){…} 4. 下列构造方法(构造器)的调用中正确的是(C)。 A. 按照一般的方法调用 B. 由用户直接调用 C. 只能通过new自动调用 D. 被系统调用 5.下列程序运行的结果是(A)。 class Book{ int width; int length; } public class A{ static void f(Book p){ p.width=20; p.length=40; } public static void main(String args[]){ Book b=new Book(); b.width=10; b.length=20; f(b); System.out.print(" "+b.width); System.out.print(" "+b.length); } } A. 20 40 B. 10 40 C. 10 20 D. 以上都不对 6.下列程序运行的结果是(D)。 public class A{ static void f(int y){ y=y+10; } public static void main(String args[]){ double x=10; f(x); System.out.println(x); } }

JAVA类与对象及数组习题及答案

JAV A类和对象及数组习题 一、选择题 (1)下列构造方法的调用方式中,正确的是(D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。 A.按照一般方法调用B.由用户直接调用 C.只能通过new自动调用D.被系统调用 (2)在Java中,能实现多重继承效果的方式是(C )--原因:一个类可以同时实现多个接口。Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。 A.内部类B.适配器C.接口D.同步 (3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。Java源文件中的public类只能有一个。 A. 声明变量时必须指定一个类型 B. Java认为变量number与Number相同 C. Java中唯一的注释方式是"//" D. 源文件中public类可以有0或多个 (5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。所以可以认为子类是父类的扩展。

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实践课程实验报告 实验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) {

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在包

JAVA类与对象的创建

试验四 类和对象的创建 一.类的定义 类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类用来定义对象的模板。 类的实现包括两部分:类声明和类体。基本格式为: 修饰符class类名[extends父类名]{ /*类体的内容*/ } 1.类声明 以下是一个类声明的例子。 class People成为类声明,People是类名。习惯上,类名的第一个字母大写,但这不是必须的。类的名字不能是Java中的关键字,要符合标识符规定,即类的名字可以由字母、下划线、数字或美元符号组成,并且第一个字母不能是数字。但给类命名时,最好遵守下列规则: (1)如果类名使用拉丁字母,那么名字的首写字母使用大写字母,如Hello、Time、People等。 (2)类名最好容易识别,当类名由几个“单词”复合而成时,每个单词的首写字母使用大写,如BeijingTi me、AmericanGame、HelloChina等。 2.类体 编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“{”、“}”以及它们之间的内容称为类体,大括号之间的内容称为类体的内容。 类体的内容由两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。 下面是一个类名为“Trapezia”的类,类体内容的变量定义部分定义了4个float类型变量:top、bottom、h igh和laderArea,方法定义部分定义了两个方法:“getArea”和“setHigh”。

二.对象 1.对象的创建 创建一个对象包括对象的声明和为对象分配内存两个步骤。 (1)对象的声明。 一般格式为: 类的名字对象名字; 如: 这里People是类的名字,zhubajie是我们声明的对象的名字。 (2)为声明的对象分配内存。 使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(你一定还记得构造方法的名字必须和类名相同这一规定),如: 例1: 「注」如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。 2.对象的使用 对象不仅可以改变自己变量的状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。 通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。 例2:

JAVA类与对象习题

JAVA类与对象习题 一、写出一个类People,并由该类做基类派生出子类Employee和Teacher。其中People 类具有name、age两个保护成员变量,分别为String类型、整型,且具有公有的getAge 成员函数,用于返回age变量的值。Employee类具有保护成员变量empno,Teacher类有teano和zc成员变量。 二、(1)创建Rectangle类,添加属性width、height; (2)在Rectangle类中添加两种方法计算矩形的周长和面积; (3)编程利用Rectangle输出一个矩形的周长和面积 三、(1)设计一个User类,其中包括用户名、口令等属性以及构造方法(至少重载2 个)。获取和设置口令的方法,显示和修改用户名的方法等。编写应用程序测试User 类。 (2)定义一个student类,其中包括用户名、姓名、性别、出生年月等属行以及init()——初始化各属性、display()——显示各属性、modify()——修改姓名等方法。实现并测试这个类。 (3)从上题的student类中派生出Granduate(研究生)类,添加属性:专业subject、导师adviser。重载相应的成员方法。并测试这个类。 四、项目名称:Bank Account Management System 银行账户管理系统简称BAM 练习1:(面向对象基础语法) 写一个账户类(Account), 属性: id:账户号码长整数 password:账户密码 name:真实姓名 personId:身份证号码字符串类型 email:客户的电子邮箱 balance:账户余额 方法: deposit: 存款方法,参数是double型的金额 withdraw:取款方法,参数是double型的金额

Java实例对象概念图解

Java编程面向对象——类与对象的关系 面向对象是一种组件化的设计思想,OOA、OOD、OOP 类与对象是整个面向对象之中最为基础的组成单元,如果需要给划出定义:类就是共性的集合,而对象是某一个性的产物;所有类实际上是用来描述一个对象的结构。 类是通过对象来使用的,而对象是通过类来创建的。 类与对象的基本定义: 在程序中,定义类,可以使用“class 类名称{}”的语法结构完成。 而类之中的组成主要有两点: * Field (属性、成员、变量),就是一推变量的集合 * Method (方法、行为),此时的方法是由对象调用的。 这个类中定义了两个属性和一个方法(可以定义更多属性和方法) *类虽然存在,但是类的使用,必须有对象; 对象的定义格式: 声明并实例化对象: 类名称对象名称 = new 类名称(); 分步完成: 声明对象:类名称对象名称 = null; 实例化对象:对象名称 = new 类名称(); 引用数据类型: 引用数据类型最大的不同在于需要内存的开辟及使用,所以关键字new 的主要功能就是开辟内存空间; 即:只要引用数据类型想使用,就必须使用关键字new 来开辟空间。 当一个对象实例化之后就可以使用以下方式利用对象来操作类的结构: 对象.属性:表示要操作类中属性内容 对象.方法():表示要调用类中的方法内容

内存概念: 堆内存:保存每一个对象的属性内容,堆内存需要用关键字 new 才可以开辟; 栈内存:保存的是一块堆内存的地址。简单的理解,栈内存保存的是对象的名字; 编程中的栈内存和堆内存的操作过程: 引用数据的初步分析: 引用是整个 Java 开发中的核心精髓所在,即:只有掌握了“引用”这一概念之后,才能加入下一步学习,类似C/C++ 中的指针概念。 在所有的引用分析里面,最关键的还是在于关键字 “new ”,每一次使用关键字new ,都会开辟新的堆内存空间,如果你的代码里面声明两个对象,并且使用了关键字new 为两个对象分别实例化操作,那么一定是各自占有各自(独立)的堆内存空间

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

1.实现简易计算器,分别实现两个整数、三个浮点数的加法运算.(用JAVA中的类和对象) 源码如下: package days;//包名自己修改 import java.util.Scanner;//注意别忘记导入这个包名了public class NumSum { public int add(int num1,int num2){ return num1+num2; } public double add(double num1,double num2,double num3){ return num1+num2+num3; } public static void main(String[] args) { // TODO Auto-generated method stub NumSum nc=new NumSum(); NumSum nc1=new NumSum();

//调用2个整数相加的方法 //Scanner是用键盘手动输入数字。 System.out.println("请用键盘手动输入两个整数:"); System.out.println(nc.add(new Scanner(System.in) .nextInt(),new Scanner(System.in).nextInt())); //调用3个浮点数相加的方法 System.out.println("请用键盘手动输入三个浮点数:"); System.out.println(nc1.add(new Scanner(System .in).nextDouble(), new Scanner(System.in).nextDouble( ), new Scanner(System.in).nextDouble())); } }

Java程序设计实验报告课案

学生实验报告 (理工类) 课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭 所属院部:软件工程学院指导教师:王倩倩 20 15 ——20 16 学年第 2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩: 批改教师:王倩倩批改时间:

一、实验目的和要求 (1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序。记录操作过程。 Java应用程序参考如下: 思考:1. 适当添加注释信息,通过javadoc生成注释文档; 2. 为主方法传递参数“Hello world”字符串,并输出; 3. 压缩生成".jar"文件。 (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 记录操作过程。 Java小应用程序参考如下:

java类与对象

5.2.1 编程实验1:基本类定义 本实验要求在封闭实验课中在教师指导下完成。 1. 实验目的 本实验旨在巩固学生对《Java语言程序设计》中第5章内容的掌握。在这个实验中学生将练习: ? 基本类的定义。 ? 使用自定义的基本类创建对象,并进行调用。 在强化练习中,学生将练习: ? 给基本类中增加属性 ? 在测试类中将增加的属性向控制台打印输出 2. 问题描述 编写一个类,描述学生的学号、姓名、成绩。学号用整型,成绩用浮点型,姓名用String类型。 编写一个测试类,输入学生的学号和成绩,并显示该学号的学生姓名,以及成绩。 3. 示例输出 4. 程序模板 class Student{ /* 此处创建三个属性。 */ } public class T1_Student{ public static void main(String[] args){ /* 先构造Student对象,然后分别为对象的属性赋值 最后打印输出对象的各个属性。 */ } } 5. 解答提示 1)在基本类的定义中描述学生类,学生的学号、成绩和姓名作为学生类的属性来描述。2)在测试类中写main方法,作为程序的入口进行运行,在main方法中创建学生对象,并

给对象的各个属性赋予具体值。 3)在测试类中用System.out.println()方法将属性的具体值输出到控制台,完成程序的输出结果要求。 6. 强化练习 1)给学生类添加性别属性,取值为boolean类型,用true表示男,用false表示女。 2)在测试类中输出学生的姓名、学号、成绩的同时,输出性别为:男或女。 5.2.2 编程实验2:构造方法 本实验要求在封闭实验课中在教师指导下完成。 1. 实验目的 本实验旨在巩固学生对《Java语言程序设计》中第5章内容的掌握。在这个实验中学生将练习: ? 定义多个基本类 ? 构造方法的定义 ? 构造方法的重载 在强化练习中,学生将练习: ? 构造方法的多个重载 ? 只通过指定长和宽来定制桌子。 2. 问题描述 编写一个类,描述桌子,包括以下几种属性:长、宽、高、颜色。并且使该类具有这样的功能:在定制桌子(即创建桌子对象时),就可以同时指定桌子的长宽高来订制。也可以同时指定长、宽、高、颜色来订制,也可单独指定桌子颜色来订制。 并编写一个测试类测试这几种定制方法。 5.2.3 编程实验3:访问器方法 本实验要求在封闭实验课中在教师指导下完成。 1. 实验目的 本实验旨在巩固学生对《Java语言程序设计》中第5章内容的掌握。在这个实验中学生将练习: ? 编写基本类,包括私有属性 ? 给基本类添加访问器方法,从而限制属性的读、写。 ? 测试类的编写,测试访问器方法对属性的读、写限制。 在强化练习中,学生将练习: ? 在基本类中添加私有属性。 ? 给该私有属性分别添加get和set访问器方法进行读、写。 2. 问题描述 编写一个类,描述银行账户,包括收入、支出和账户余额三种属性,同时包括对这三种

实验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());}

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());

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;

相关文档
最新文档