发表于: 2018-03-13 16:24:10
1 481
今日完成
1、写一个学生选课的多对多的java类
要求是:
一个学生有学号、姓名、年龄3个信息;一门课程有编号、名称、学分3个信息;
能够通过学生找到学生信息以及其所选课程和每门课的分数;
通过课程找到课程信息以及选这门课程的学生的信息和每个学生的分数。
①创建两个类(stu、course)来描述学生和课程,并把各自的属性添加进去。


②创建一个类(StuCourse)来描述学生成绩。
其中学生属性调用stu;课程属性调用course。

一个学生有多个成绩信息,所以在stu类中添加“StuCourse [] stuCourses ;”;
一门课程有多个学生成绩,所以在course类中也添加“StuCourse [] stuCourses ;”。
③设置实例化对象

④设置关系

PS:setStuCourses()的返回值是数组StuCourse[]。
⑤输出
课程ca的信息,以及选ca的学生信息及其成绩:


stu2的学生信息,stu2参加的所有课程信息以及每门课程的分数:


2、学习“包”(类似于Windows中的文件夹),其作用是:
①把功能相似的类或接口放在同一个包中,方便类查找;
②同一个包中类的名字不同、但不同的包中类的名字可以相同,在调用不同包中相同类名的时候加上包名加以区分,可以避免名字冲突;
③拥有访问权限的类才能访问某个包中的类。
创建包

包声明放在文件的第一行,如下图中的“package jlj.test.animal;”。

import:引入包中的成员,放在package语句之后,创建类之前,可以有多条。
如果源文件与将要引用的包成员在同一个包中,可以省略,如上图中的MammalInt使用同一包中Animal的类时,可以不用import;
如果不在同一包中,则需如下图进行声明:

3、学习多态
多态就是同一个接口,使用不同的实例而执行不同的操作。
优点:可替换性;可扩充性;接口性;灵活性;简化性;消除类型间的耦合关系。
必要条件:继承,重写,父类引用指向子类对象。
如下例子
创建3个类:一个父类,Animal;两个子类,Cat和Dog。

输出新Animal

明日计划
1、学习static关键字;
2、学习代码块。
遇到的问题
学习的知识大多碎片化,没有形成系统。
收获
1、学到了多对多java类的用法;
2、明白了包的概念和功能:就像文件夹一样将同种类型的类放在同一个包中,方便调用的时候的定位;
3、系统的了解了java类的封装、继承、多态的关系与用法。
评论