Java上机实验-类的使用

合集下载

java中类的用法

java中类的用法

java中类的用法Java是一种面向对象的编程语言,类是面向对象编程的基本概念之一。

在Java中,类是一种模板,它用来描述一类对象的方法和属性。

可以通过创建类的对象来使用它的方法和属性。

本文将介绍Java中类的用法。

一、定义类Java中定义类的语法如下:```java public class ClassName { // 类的成员变量 // 类的构造函数 // 类的方法 } ```其中,类名要遵循标识符的命名规范。

类的成员变量是类的属性,它们用于存储对象的状态。

类的构造函数用于创建对象并初始化它的成员变量。

类的方法用于定义对象的行为。

二、成员变量Java中的成员变量也称为类的属性,用于存储对象的状态。

成员变量可以是基本类型、引用类型或数组类型。

在类的定义中,成员变量要放在构造函数和方法的前面。

成员变量可以通过类的对象来访问和修改。

```java public class Person { private String name; private int age;public Person(String name, int age){ = name; this.age = age; }public String getName() { return name; }public void setName(String name){ = name; }public int getAge() { return age; }public void setAge(int age){ this.age = age; } } ```在上面的例子中,Person类有两个成员变量name和age,它们都使用private关键字修饰,表示只能在类内部访问。

同时,这个Person类提供了一个有参构造函数和getter、setter方法,用来访问和修改成员变量。

三、构造函数Java中的构造函数用于创建对象并初始化它的成员变量。

《Java语言程序设计》上机实验指导手册

《Java语言程序设计》上机实验指导手册

《Java语⾔程序设计》上机实验指导⼿册《Java语⾔程序设计》上机实验指导⼿册实验⼀ Java环境演练【⽬的】①安装并配置Java运⾏开发环境;②掌握开发Java应⽤程序的3个步骤:编写源⽂件、编译源⽂件和运⾏应⽤程序;③学习同时编译多个Java源⽂件。

【内容】1.⼀个简单的应⽤程序实验要求:编写⼀个简单的Java应⽤程序,该程序在命令⾏窗⼝输出两⾏⽂字:“你好,很⾼兴学习Java”和“We are students”。

程序运⾏效果⽰例:程序运⾏效果如下图所⽰:程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令⾏窗⼝输出"你好,很⾼兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令⾏窗⼝输出"We are students"}}实验后的练习:3.编译器怎样提⽰将System写成system这⼀错误?4.编译器怎样提⽰将String写成string这⼀错误?2.联合编译实验要求:编写4个源⽂件:Hello.java、A.java、B.java和C.java,每个源⽂件只有⼀个类,Hello.java是⼀个应⽤程序(含有main⽅法),使⽤了A、B和C类。

将4个源⽂件保存到同⼀⽬录中,例如:C:\100,然后编译Hello.java。

程序模板:模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令⾏窗⼝输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令⾏窗⼝输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令⾏窗⼝输出"I am B"}public class C{void fC(){【代码4】 //命令⾏窗⼝输出"I am C"}}实验后的练习:5.将Hello.java编译通过后,不断修改A.java源⽂件中的代码,⽐如,在命令⾏窗⼝输出“我是A类”或“我被修改了”。

java实验报告 类的继承

java实验报告 类的继承

java实验报告类的继承一、实验目的1、深入理解 Java 中类的继承概念和机制。

2、掌握通过继承实现代码复用和功能扩展。

3、学会使用 super 关键字和方法重写。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse 或 IntelliJ IDEA三、实验内容1、创建一个父类`Animal`包含属性:`name`(字符串类型),`age`(整数类型)包含方法:`eat()`(打印出动物正在吃东西),`sleep()`(打印出动物正在睡觉)2、创建子类`Dog` 继承自`Animal`新增属性:`breed`(字符串类型,表示狗的品种)重写父类的`eat()`方法,打印出狗吃东西的特有方式新增方法:`bark()`(打印出狗在叫)3、创建子类`Cat` 继承自`Animal`新增属性:`color`(字符串类型,表示猫的颜色)重写父类的`sleep()`方法,打印出猫睡觉的特有姿势新增方法:`meow()`(打印出猫在叫)四、实验步骤1、在 Java 项目中创建一个名为`Animal` 的类:```javapublic class Animal {private String name;private int age;public Animal(String name, int age) {thisname = name;thisage = age;}public void eat(){Systemoutprintln(name +" is eating");}public void sleep(){Systemoutprintln(name +" is sleeping");}}```2、创建一个名为`Dog` 的类继承自`Animal`:```javapublic class Dog extends Animal {private String breed;public Dog(String name, int age, String breed) {super(name, age);thisbreed = breed;}@Overridepublic void eat(){Systemoutprintln(supergetName()+" the "+ breed +" dog is eating greedily");}public void bark(){}}```3、创建一个名为`Cat` 的类继承自`Animal`:```javapublic class Cat extends Animal {private String color;public Cat(String name, int age, String color) {super(name, age);thiscolor = color;}@Overridepublic void sleep(){Systemoutprintln(supergetName()+" the "+ color +" cat is sleeping curled up");}public void meow(){}}```4、在`Main` 类中进行测试:```javapublic class Main {public static void main(String args) {Dog dog = new Dog("Buddy", 3, "Labrador");dogeat();dogbark();dogsleep();Cat cat = new Cat("Mimi", 2, "White");cateat();catsleep();catmeow();}}```五、实验结果1、运行`Main` 类后,输出结果如下:`Buddy the Labrador dog is eating greedily``Buddy is barking``Buddy is sleeping``Mimi is eating``Mimi the White cat is sleeping curled up``Mimi is meowing`2、可以看到,子类`Dog` 重写了父类`Animal` 的`eat()`方法,展示了狗特有的吃东西方式;子类`Cat` 重写了父类的`sleep()`方法,展示了猫特有的睡觉姿势。

JAVA实验报告心得

JAVA实验报告心得

北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目: java上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间: 2012年12月19日版本: 1.0.0指导教师:北京联合大学-信息学院编制实验1 熟悉java运行环境实验目的:熟悉jdk环境和操作,编写简单的java应用程序。

心得体会:在该实验中,我碰到的问题是jdk环境变量的设置。

解决方法是通过查阅资料书和网上搜索相关解决方法及同学的有力帮助。

实验2 选择语句练习实验目的:正确理解并能够熟练操作和使用java的if和switch语句。

心得体会:我个人感觉有了c的编程基础,if和switch这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟c非常相近,所以上手比较快。

但是在这次程序中,首次涉及到了java程序的数据输入,与c区别很大。

但经过老师的讲解和查阅相关资料,基本明白相关的使用规则和注意事项。

在第二个小题中还涉及到了charat()方法,经查阅jdk 文档,知道charat()方法返回一个位于提供给它的参数索引处的字符,如: str.chatat(0)检索str中的第一个字符,str.charat(str.length()-1)检索最后一个字符。

我运用此方法解决了比较字符串间首字母异同的问题。

实验3 迭代练习实验4 方法的实现练习实验目的:声明、定义和调用方法,理解实参和形参的含义。

心得体会:在该实验中,我掌握如何写方法、调用方法,并掌握如何向方法中传递信息和从方法中返回信息。

方法声明为非void(构造方法除外)则需要用return语句返回一个相应类型的返回值。

实验5 简单类型数组练习实验目的:学习创建简单类型的数组,并能用循环语句处理数组。

心得体会:通过该实验,我学会了如何让建立简单类型的数组,并掌握了将数组作为方法的传入参数和返回值。

在该实验中,遇到的问题主要是如何将一个连续的多位数在存入数组时,每个数组元素只对应改多位数的一个组成数。

攀枝花学院Java实验五 常用类

攀枝花学院Java实验五 常用类

实验报告附页String s7 = new String("123.678");int n1=Integer.parseInt(s6);//将s6转化成int型数据。

double n2=Double.parseDouble(s7); //将s7转化成double型数据。

double m=n1+n2;System.out.println(m);String s8=String.valueOf(m); //String调用valuOf(int n)方法将m转化为字符串对象position=s8.indexOf(".");String temp=s8.substring(position+1);System.out.println("数字"+m+"有"+temp.length()+"位小数") ;@SuppressWarnings("unused")String s9=new String("ABCDEF");char a[]=s8.toCharArray(); //将s8存放到数组a中。

for(int i=a.length-1;i>=0;i--){System.out.print(" "+a[i]);}}}运行结果:将上面程序按如下要求修改,并运行:(1)程序中的s6改写成String s6=new String(“1a12b”);运行时提示怎样的错误?Exception in thread "main" ng.NumberFormatException: For input string: "1a12b"at ng.NumberFormatException.forInputString(Unknown Source)at ng.Integer.parseInt(Unknown Source)at ng.Integer.parseInt(Unknown Source)at xiti2.xiugai.main(xiugai.java:39)(2)请用数组a的前3个单元创建一个字符串并输出该串。

JAVA实验7

JAVA实验7

浙江经贸职业技术学院实训报告系部______________ 班级____________ 姓名____________ 学号_______________日期______________ 地点____________ 指导教师_____________ 成绩实验七JAVA 面向对象编程(3)【实验目的】1.掌握JAVA语言类的定义和使用。

2.掌握JAVA语言对象的声明和使用。

3.掌握JAVA语言构造方法的概念和使用。

4.掌握类及其成员的访问控制符的区别和使用。

【预习内容】1. JAVA 类的定义格式;2.JAVA对象的使用三步骤:声明、创建以及初始化;3.访问控制修饰符:public、private和protected的功能和区别;4.JAVA构造方法的概念和特点;5.JAVA多态的概念,及重载和覆盖的区别;【实验内容及步骤】1.上机验证题1.阅读下面的程序,在main()方法里添加语句完成如下功能:(1)创建一个MyValue类的对象myValue.(2)为myValue对象中的value域赋值10。

(3)使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上。

class MyValue {private int value;public void setValue(int x) {value = x;}public int getValue() {return value;}}public class UseValue {public static void main(String args[]) {MyValue myvalue = new MyValue();myvalue.setValue(10);System.out.println(myvalue.getValue());}}[程序运行过程]2.(1)程序功能:通过LX7_1_P类产生子类LX7_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。

Java上机实验报告(3)

Java上机实验报告(3)

Java上机实验报告(3)任务简要描述⼀、⼀、任务简要描述1、集合类的使⽤举例Collection接⼝ Collection是最基本的集合接⼝,⼀个Collection代表⼀组Object,即Collection的元素(Elements)。

⼀些 Collection允许相同的元素⽽另⼀些不⾏。

⼀些能排序⽽另⼀些不⾏。

Java SDK不提供直接继承⾃Collection的类,Java SDK提供的类都是继承⾃Collection的“⼦接⼝”如List和Set。

所有实现Collection接⼝的类都必须提供两个标准的构造函数:⽆参数的构造函数⽤于创建⼀个空的Collection,有⼀个 Collection参数的构造函数⽤于创建⼀个新的Collection,这个新的Collection与传⼊的Collection有相同的元素。

后⼀个构造函数允许⽤户复制⼀个Collection。

如何遍历Collection中的每⼀个元素?不论Collection的实际类型如何,它都⽀持⼀个iterator()的⽅法,该⽅法返回⼀个迭代⼦,使⽤该迭代⼦即可逐⼀访问Collection中每⼀个元素。

典型的⽤法如下:1 Iterator it = collection.iterator(); // 获得⼀个迭代⼦2 while(it.hasNext()) {3 Object obj = it.next(); // 得到下⼀个元素 由Collection接⼝派⽣的两个接⼝是List和Set。

List接⼝ List是有序的Collection,使⽤此接⼝能够精确的控制每个元素插⼊的位置。

⽤户能够使⽤索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。

和下⾯要提到的Set不同,List允许有相同的元素。

除了具有Collection接⼝必备的iterator()⽅法外,List还提供⼀个listIterator()⽅法,返回⼀个 ListIterator接⼝,和标准的Iterator接⼝相⽐,ListIterator多了⼀些add()之类的⽅法,允许添加,删除,设定元素,还能向前或向后遍历。

实验二Java类编程实验

实验二Java类编程实验

实验⼆Java类编程实验实验⼆Java类编程实验实验⽬的1.掌握Java类的基本定义和使⽤⽅法2.熟悉Java语⾔的基本语法和运⾏原理3.掌握Java的基本数据类型、表达式和程序控制结构4.熟悉Eclipse开发环境的基本使⽤⽅法实验内容1. 对象的创建和使⽤使⽤集成开发环境编写⼀个圆环类Ring的Java程序。

圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius 和颜⾊color,这些属性通过get和set⽅法进⾏封装。

另外,圆环类中的getArea⽅法可以返回其⾯积。

把程序中的代码补充完整,并查看结果。

public class Ring {private double innerRadius;private double outerRadius;private String color;public Ring(double iRadius, double oRadius, String c) { //初始化数据成员}//⽤get和set⽅法封装数据成员public double getArea() {}public static void main(String[] args) {Ring ring = new Ring(5,8,"red");System.out.println("圆环的内半径: " +ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea() + "\n");ring.setInnerRadius(4);//设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径: " + ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea());}}思考:1)将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring = newRing();修改后编译运⾏,此时有错误发⽣吗?分析错误的原因。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称Java上机实验二姓名:山水不言学号:xxxxxx一、实验内容○1编程创建一个Box类。

要求:定义三个实例变量分别表示立方体的长、宽和高,定三个构造方法(必须包含一个无参构造方法,一个满参构造方法)对这3个变量进行初始化,然后定义一个方法求立方体的体积。

创建一个对象,求给定尺寸的立方体的体积。

实验思路:创建一个Box类,将它的长宽高以及体积实例变量设为private,类中声明一个求体积的public方法。

设置三个构造函数来对者三个变量初始化:1、构造函数有三个参数,分别对应实例的长、宽和高。

构造函数可以对变量赋值合法性进行判断。

2、构造函数有两个参数则对应实例的长和宽,高默认为1,构造函数可以对函数合法性进行判断。

3、构造函数没有参数实例的长宽高默认为0在另一个类里创建3个Box对象,调用volume函数分别求体积。

实验源代码:package com.box;public class box_demo {public static void main(String[] args) {// TODO自动生成的方法存根Box box1=new Box();Box box2=new Box(12.3,34.1);Box box3=new Box(12.3,34.1,10.0);System.out.print("the volume of thebox1:"+box1.volume()+"\n");System.out.print("the volume of thebox2:"+box2.volume()+"\n");System.out.print("the volume of thebox3:"+box3.volume());}}package com.box;public class Box {private double height;private double width;private double length;private double volume;public Box(){this.height=0;this.length=0;this.width=0;}public Box(double Box_len,double Box_wid,double Box_height) {if(Box_len<0)this.length=0;elsethis.length=Box_len;if(Box_wid<0)this.width=0;elsethis.width=Box_wid;if(Box_height<0)this.height=0;elsethis.height=Box_height;}public Box(double Box_len,double Box_wid){if(Box_len<0)this.length=0;elsethis.length=Box_len;if(Box_wid<0)this.width=0;elsethis.width=Box_wid;this.height=1;}public double volume(){this.volume=this.length*this.width*this.height;return this.volume;}}○2学生类的创建和使用(1)创建一个Student类,包括的域有学号、班号、姓名、性别年龄等,且都是private类型。

(2)声明一个构造方法,以初始化对象的所有域。

(3)声明分别获得各属性(学号,班号,姓名,性别,年龄)的各个public方法。

(4)声明修改各属性(学号,班号,姓名,性别,年龄)的各个public方法。

(5)声明一个为public型的toString()方法,把该类中的所有域信息组合成一个字符串。

(6)在类中声明统计班级总人数的私有域count的到班级总人数的public方法(可在构造方法里进行Student对象个数的增加)。

(7)将类Student放在子包student中。

(8)在子包student外,创建测试类Student的主类。

在主类中,使用Student类创建两个Student对象,输出对象的所有域信息;修改对象的姓名和年龄,修改后显示对象的姓名和年龄;比较两个Student对象的年龄大小,输出年龄较大的Student对象。

实验思路:1、创建一个Student类,两个构造方法,无参的构造函数:默认姓名和性别为空,其余项都为0。

有全参的构造函数:分别为对象的实例变量赋值。

2、写获得各属性的public方法,返回的是:this.变量名3、写修改各属性的public方法,判断参数的合法性,修改变量值4、写toString函数,利用Integer.toString()函数把整型变量转化为字符串,把所有域信息连接,中间用’\t’隔开。

5、写一个public static函数getclass_number()获得班级人数,返回值是static 型变量count6、在student包外,比较两个Student对象的年龄需要调用Student对象获得年龄的方法get_stu_age(),用两个临时变量来保存函数返回的年龄,比较大小,年龄大的利用get_stu_name()来获得对象的名字。

实验源代码:package com.server;import com.student.Student;public class demo {public static void main(String[] args) {Student stu1,stu2;stu1=new Student(13,1704,"慕寨","男",48);stu2=new Student(14,1704,"衫泽","女",27);System.out.println("no"+"\tclass"+"\tname"+"\tsex"+"\tage") ;System.out.print(stu1.toString());System.out.print(stu2.toString());stu1.set_name("慕寒");stu1.set_age(29);stu2.set_name("杉泽");stu2.set_age(28);System.out.println("update:");System.out.println("new name:"+stu1.get_stu_name()+"new age"+stu1.get_stu_age());System.out.println("new name:"+stu2.get_stu_name()+"new age:"+stu2.get_stu_age());int st1_age=stu1.get_stu_age();int st2_age=stu2.get_stu_age();System.out.println("the older one:");if(st1_age>st2_age){System.out.print(stu1.get_stu_name());}else{System.out.print(stu1.get_stu_name());}}}package com.student;public class Student {private int s_no;private int c_no;private String name;private String sex;private int age;private static int count;public Student(){s_no=0;c_no=0;name="";sex="";age=0;}public Student(int stu_no,int class_no,String stu_name, String stu_sex,int stu_age){this.s_no=stu_no;this.c_no=class_no;=stu_name;if(stu_sex!="男"&&stu_sex!="女")this.sex="男";elsethis.sex=stu_sex;if(stu_age<0)this.age=0;elsethis.age=stu_age;count++;}public int get_stu_no(){return this.s_no;}public int get_class_no(){return this.c_no;}public String get_stu_name(){return ;}public String get_stu_sex(){return this.sex;}public int get_stu_age(){return this.age;}/*修改对象*/public void set_stu_no(int new_sno){if(new_sno<=0)return;this.s_no=new_sno;}public void set_class_no(int new_cno){if(new_cno<=0)return;this.c_no=new_cno;}public void set_name(String new_name){=new_name;}public void set_sex(String new_sex){if(new_sex!="男"&&new_sex!="女")return;this.sex=new_sex;}public void set_age(int new_age){if(new_age<0)return;this.age=new_age;}public String toString(){String stu_string;stu_string=Integer.toString(this.s_no)+"\t"+Integer.toStrin g(this.c_no)+"\t"++"\t"+this.sex+"\t"+Integer.toString(this.ag e)+"\n";return stu_string;}public static int getclass_number(){return count;}}二、实验心得在此次实验中我将创建类和使用类的代码放在两个.Java文件中,对于每个类来说,正确的使用需要有合适的对外接口。

相关文档
最新文档