java程序设计

201521123024 《Java程序设计》第6周学习总结

笑着哭i 提交于 2020-02-24 08:31:56
1. 本周学习总结 2. 书面作业 1.clone方法 1.1 Object对象中的 clone 方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 用protected修饰,则只能被同包内的类和子类所访问,可以将protected改为用public声明,增大clone的使用范围。 1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业 Shape 为例说明。 对于只想让同包的类和子类访问的方法采用protected修饰。 Shape类,其子类有Circle、Rectangle,Circle、Rectangle都继承Shape类,所以都拥有getPerimeter与getArea分别为计算面积与周长的方法。 1.3 在test1包中编写简单的 Employee 类,在test2包中新建一个 TestProtected 类,并在main中尝试调用test1包中的Employee的clone方法克隆一个新对象,能否成功?为什么? 不能成功 两个类不在一个包内不能调用 2.使用匿名类与Lambda表达式改写题集面向对象2-进阶-多态接口内部类的题目5-2 仅需粘贴关键代码与运行结果,图片不要太大。 Comparator<PersonSortable2> NameComparator=(o1,o2)-> o1.getName()

201521123010 《Java程序设计》第6周学习总结

大城市里の小女人 提交于 2020-02-24 08:31:20
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 2. 书面作业 ①clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? A: 在自定义的类中覆盖clone方法时需要注意:首先明确通常我们利用Object类的clone方法是为了获取对象的一份拷贝。Object对象中的clone方法是被protected修饰,而为了让其它类能调用这个clone类的clone()方法,我们在重载之后应该把clone()方法的属性设置为public。 1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。 A: 在Shape里,有 private double width; private double length; private double radius; 使用了private进行修饰,而width、length和radius都为变量,又通过了public double getWidth()、public double getLength

201521123044 《Java程序设计》第6周学习总结

风流意气都作罢 提交于 2020-02-24 08:30:48
1. 本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 2. 书面作业 1.clone方法 1.1 Object对象中的 clone 方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 答:在自定义的类中覆盖clone方法时需注意的是,Object对象中的 clone 方法是被protected修饰,需要修改成public修饰,确保其他类可以访问这个方法。 1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。 答: Shape中的Rectangle的width、length被定义为private, public class Rectangle extends Shape{ private double width; private double length; } 无法在子类中直接存取,只能通过 public double getWidth() public double getlength() 来获取;但是把shape中的width、length定义为public,

201521123095 《Java程序设计》第6周学习总结

自闭症网瘾萝莉.ら 提交于 2020-02-24 08:27:28
1.本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 2. 书面作业 1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 需要注意的是,如果用protected修饰,那么只能被同包内的类和子类所访问,Object对象中的clone方法是被protected修饰,需要修改成public修饰。在自定义类中覆盖clone的方法的名称必须和Object.clone中名称、参数、返回类型相等,方法的覆盖只能存在于子类和父类之间,在同一个类中方法被重载不能覆盖。 1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。 一般对于在一个包的不同类中,一个方法需要被同一个包中的不同类中进行多次调用的时候则需要进行protected进行修饰,即使不是同一个类,只要是在同一个包内就可以使用,使用protected进行修饰还可以不让其他类中调用该方法,起到保护作用。 在代码Shape中,Shape会有类似于Circle,Rectangle的子类

201521123019 《Java程序设计》第11周学习总结

风格不统一 提交于 2020-02-24 08:18:16
1. 本章学习总结 2. 书面作业 Q1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1除了使用synchronized修饰方法实现互斥同步访问,还有什么办法实现互斥同步访问(请出现相关代码)? class Account{ private int balance; private Lock poolLock = new ReentrantLock(); private Condition condition = poolLock.newCondition(); public Account(int balance) { super(); this.balance = balance; } public int getBalance() { return balance; } public void deposit(int money){ poolLock.lock(); try{ this.balance=getBalance() + money; condition.signal(); } finally { poolLock.unlock(); } } public void withdraw(int money){ poolLock.lock(); try{ while (getBalance() <money) { try {

201621123011 《Java程序设计》第9周学习总结

人走茶凉 提交于 2020-02-23 11:29:42
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。 2. 书面作业 本次作业题集集合 1. List中指定元素的删除(题集题目) 1.1 实验总结。并回答:列举至少2种在List中删除元素的方法。 这个实验没什么难度,我通过将要删除的元素放在数组中,然后用equals进行比较,相同的话就remove。需要注意的是正向遍历的时候删除一个元素后要让比较的位置先保持不变。 删除元素的方法: 1、正向遍历删除 public static void remove(List<String> list, String str){ for (int i = 0;i <list.size();i++){ if (str.equals(list.get(i))){ list.remove(i); i--; } } } 2、反向遍历删除 public static void remove(List<String> list, String str){ for (int i = list.size()-1;i >= 0;i--){ if (str.equals(list.get(i))){ list.remove(i); } } } 3、使用Iterator删除元素 public static void remove(List<String> List, String

20175305张天钰《java程序设计》第七周学习总结

隐身守侯 提交于 2020-02-18 07:35:31
《java程序设计》第七周学习总结 第八章 常用实用类 1.String类 1.String类不可以有子类。 2.用户无法输出String对象的引用,输出的是字符序列 3.构造方法:String s = new String("We are students"); 4.其他构造方法:String (char a[ ]) 和 String(char a[],int startIndex,int count) 2.字符串的并置 *1.String对象可以用“+”进行并置运算,即首尾相接得到一个新的String对象。 3.String类的常用方法 1.public int length( ) 用来获取一个String对象的字符序列的长度; 2.public boolean equals(String s) 用来比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同; 3.public boolean startsWith(String s)、public boolean endsWith(Sting s) 判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列; 4.public boolean contains(String s) 用来判断当前String对象的字符序列是否包含参数s的字符序列; 5.public int

201521123044 《Java程序设计》第11周学习总结

狂风中的少年 提交于 2020-02-17 19:15:54
1. 本章学习总结 2. 书面作业 本次PTA作业题集 多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有什么办法实现互斥同步访问(请出现相关代码)? 题集4-4和4-5使用到的Lock对象和Condition对象实现互斥同步访问 //关键代码: public void deposit(int money) {// synchronized lock.lock(); try { balance += money; plus.signalAll(); } finally { lock.unlock(); } } public void withdraw(int money){ lock.lock(); try{ try{ while(this.getBalance()<=0) condition.await(); condition.signal(); }catch(Exception e){ System.out.println(e); } this.balance=this.getBalance()-money; if(balance<0) throw new IllegalStateException(balance+""); }finally{ lock.unlock(); }

# 20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告

大憨熊 提交于 2020-02-16 06:38:29
20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告 实验内容 •初步掌握单元测试和TDD •理解并掌握面向对象三要素:封装、继承、多态 •初步掌握UML建模 •熟悉S.O.L.I.D原则 •了解设计模式 实验要求 .没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程 •2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导 •3.严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。 •4.请大家先在实验楼中的~/Code目录中用自己的学号建立一个目录,代码和UML图要放到这个目录中,截图中没有学号的会要求重做,然后跟着下面的步骤练习。 实验步骤与结果 实验一 实验二 实验三 实验四 实验五 实验体会 这次最大的收获就是学会了Junit单元测试,实这些代码不仅为你织起了一张保护网,而且还可以帮助你快速定位错误从而使你大大减少修复BUG的时间。 PSP(Personal Software Process)时间 步骤 耗时 百分比 需求 10 6.7% 设计 30 20%

201621123069 《Java程序设计》第12周学习总结

混江龙づ霸主 提交于 2020-02-08 01:57:34
1. 本周学习总 结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容。 2. 面向系统综合设计-图书馆管理系统或购物车 FileReader 使用流与文件改造你的图书馆管理系统或购物车。 2.1 简述如何使用流与文件改造你的系统。文件中数据的格式如何? 2.2 简述系统中文件读写部分使用了流与文件相关的什么接口与类?为什么要用这些接口与类? 2.3 截图读写文件相关代码。关键行需要加注释。 本次的作业在上次基础上除了使用流与文件改造之外还加入了另一项老师登入的功能,使得图书馆系统更加全面。我使用的有FileReader,BufferedReader,这样做的好处是可以整行的读取书籍内容或者作者 关键代码如下 3. 代码量统计 3.1 统计本周完成的代码量 需要将每周的代码统计情况融合到一张表中。 来源: https://www.cnblogs.com/ysm0301/p/8011790.html