《面向对象程序设计(Java)》第四周学习总结
2021-06-18 20:03
标签:组合 nes 使用 写入 相关 avg 类构造 成绩 vat 第一部分 第四章部分理论知识 1.面向对象程序设计概述:java是完全面向对象的,必须熟悉OOP才能编写java程序。 类:由类构造对象的过程称为创建类的实例。 封装:封装是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,操纵数据的过程称为方法。对于每个特定的类实例(对象)都有一组特定的实例值域。这些值的集合就是这个对象的当前状态。 对象:对象状态的改变必须通过调用方法实现。 识别类:识别类的简单规则是在分析问题的过程中寻找名词,而方法对应着动词。 2.使用预定义类:在OOP中,要想使用对象,需先构造对象,并初始化对象,然后通过对象调用类中的方法。 构造器是类中一个特殊的方法,该方法名与类名相同。 java类库中的LocalDate类:LocalDate类用来表示日历表示法。不要使用构造器来构造LocalDate类对象。应该使用静态工厂方法代表你调用构造器。 更改器与访问器方法:set与get。 第二部分 实验部分 1、实验目的与要求 (1) 理解用户自定义类的定义; (2) 掌握对象的声明; (3) 学会使用构造函数初始化对象; (4) 使用类属性与方法的使用掌握使用; (5) 掌握package和import语句的用途。 2、实验内容和步骤 实验1 测试以下程序,掌握文件输入输出程序设计技术(文件输入输出,教材61-62). import java.io.*; import java.util.*; public class FileWriteReadTest { public static void main(String[] args) throws IOException{ //写入文件演示 PrintWriter out = new PrintWriter("myfile.txt"); out.println("姓名 高数 Java 数据结构 平均成绩 总成绩"); out.println("张三 20 30 40 0 0"); out.println("李四 50 60 70 0 0"); out.close();//输出完毕,需要close //读入文件演示 Scanner in = new Scanner(new File("myfile.txt"));//为myfile.txt这个File创建一个扫描器in int number = 1;//行号 System.out.println(in.nextLine()); while(in.hasNextLine()){//判断扫描器是否还有下一行未读取,该循环把文件的每一行都读出 String line = in.nextLine();//读出myfile.txt的下一行 System.out.print("第"+(++number)+"行的内容: "); Scanner linescanner = new Scanner(line);//行内容建立扫描器 linescanner.useDelimiter(" ");//使用空格作为分隔符 String name = linescanner.next(); String math = linescanner.next(); String java = linescanner.next(); String ds = linescanner.next(); String avg = linescanner.next(); String total = linescanner.next(); System.out.println("name="+name+" math="+math+" java="+java+" ds="+ds+" avg"+avg+" total="+total); } in.close();//读入完毕,最后需要对其进行close。 } } 实验结果:
实验2 导入第4章示例程序并测试。 测试程序1: ---编辑、编译、调试运行程序4-2(教材104页);
---结合程序运行结果,掌握类的定义与类对象的用法,并在程序代码中添加类与对象知识应用的注释;
---尝试在项目中编辑两个类文件(Employee.java、 EmployeeTest.java ),编译并运行程序。
---参考教材104页EmployeeTest.java,设计StudentTest.java,定义Student类,包含name(姓名)、sex(性别)、javascore(java成绩)三个字段,编写程序,从键盘输入学生人数,输入学生信息,并按以下表头输出学生信息表: 姓名 性别 java成绩 源码: 结果: 测试程序2: ---编辑、编译、调试运行程序4-3(教材116); ---结合程序运行结果,理解程序代码,掌握静态域(netxtId)与静态方法(getNextId)的用法,在相关代码后添加注释; ---理解Java单元(类)测试的技巧。
测试程序3: ---编辑、编译、调试运行程序4-4(教材121); ---结合程序运行结果,理解程序代码,掌握掌握Java方法参数的用法,在相关代码后添加注释;
测试程序4: ---编辑、编译、调试运行程序4-5(教材129); ---结合程序运行结果,理解程序代码,掌握Java用户自定义类的用法,掌握对象构造方法及对象使用方法,在相关代码后添加注释。 测试程序5: ---编辑、编译、调试运行程序4-6、4-7(教材135); ---结合程序运行结果,理解程序代码,掌握Java包的定义及用法,在相关代码后添加注释;
实验3 编写长方形类Rectangle与圆形类Circle,其中Rectangle类设置私有属性:width,length;Circle类设置私有属性radius。编写Rectangle类的带参构造函数Rectangle(int width,int length), Circle类的带参构造函数Circle(int radius),编写两个类的toString方法(Eclipse可自动生成)。上述2个类均定义以下方法: 求周长的方法public int getPerimeter() 求面积的方法public int getArea() 在main方法中完成以下任务: (1) 输入1行长与宽,创建一个Rectangle对象; (2) 输入1行半径,创建一个Circle对象; (3) 将两个对象的周长加总输出,将两个对象的面积加总输出。 实验总结: 通过这次实验,我初步了解了java中OOP的概念,学习了如何自定义类去编程,加深了对java面向对象的特点的理解。 《面向对象程序设计(Java)》第四周学习总结 标签:组合 nes 使用 写入 相关 avg 类构造 成绩 vat 原文地址:https://www.cnblogs.com/bmwb/p/9695951.html
类之间的关系:依赖,聚合,继承。
1 import java.time.LocalDate;
2 import java.util.Scanner;
3 public class StudentTest
4 {
5 public static void main(String[] args)
6 {
7 Student[] staff = new Student[3];
8 Scanner in=new Scanner(System.in);
9 System.out.println("请输入学生信息:");
10 for (int i=0;i