ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:53.96KB ,
资源ID:4185650      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4185650.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java问题总结.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

java问题总结.docx

1、java问题总结Java基础问题问题1:Question 49:public class Ques49 public static void main(String args) Employee employee = new Employee(4321); System.out.println(employee.empID); class Person String name = No name; /*public Person() this(fern); System.out.println(Person1); ;*/ public Person(String nm) name = nm;

2、System.out.println(Person2 = + nm); class Employee extends Person String empID = 0000; public Employee(String id) /super(id); empID = id; 问题:为什么需要在父类中定义一个默认的构造函数 或者 需要在子类的构造函数中加 super问题2:Question101:public class Ques101 extends Fruit1 int size = 42; public static void main(String args) Ques101 b = n

3、ew Ques101(); /对象序列化 ObjectOutputStream oos = null; try oos = new ObjectOutputStream(new FileOutputStream(D:food.txt); oos.writeObject(b); catch (Exception e) e.printStackTrace(); finally /反序列化 ObjectInputStream ois = null; try ois = new ObjectInputStream(new FileInputStream(D:food.txt); b = (Ques10

4、1) ois.readObject(); System.out.println(restored+b.size+); catch (Exception e) e.printStackTrace(); finally class Food1 Food1() System.out.println(1); class Fruit1 extends Food1 implements Serializable private static final long serialVersionUID = 1L; public Fruit1() System.out.println(2); 输出:121rest

5、ored42问题:反序列化机制无需通过构造器来初始化对象,如何理解?问题3:Question29:public class Ques29 public static void main(String args) int x =1,2,3,4,5,6; int y =x; /* * 输出结果相同,“Ide6ced Ide6ced” ,内存地址相同,说明x和y指向同一个对堆内存空间 */ System.out.println(x); System.out.println(y); System.out.println(x2); System.out.println(y2); 输出结果:Ide6ced

6、Ide6ced33问题:数组x和数组y的 栈内存 和 堆内存 的情况?问题4:Question102:public class Ques102 implements Serializable private int x; public int getX() return x; public Ques102(int x) this.x = x; private void writeObject(ObjectOutputStream s,Object b) throws IOException /s.defaultWriteObject(); s.writeObject(b); public st

7、atic void main(String args) Ques102 b = new Ques102(100); /对象序列化 ObjectOutputStream oos = null; try oos = new ObjectOutputStream(new FileOutputStream(D:food.txt); /oos.writeObject(b); /oos.defaultWriteObject();/使用默认的 “写对象” /b.writeObject(oos); b.writeObject(oos,b); catch (Exception e) e.printStackTr

8、ace(); finally /反序列化 ObjectInputStream ois = null; try ois = new ObjectInputStream(new FileInputStream(D:food.txt); b = (Ques102) ois.readObject(); System.out.println(restored+b.x+); catch (Exception e) e.printStackTrace(); finally 问题:defaultWriteObject()的使用问题5:Question119:public class Ques119 exten

9、ds Thread private int x=2; public static void main(String args) throws Exception new Ques119().makeItSo(); new Ques119().go(); public Ques119() x=5; System.out.println(Thread.currentThread().getName(); start(); public void makeItSo() throws Exception join(); x=x-1; System.out.println(makeItSo +x); p

10、ublic void run() System.out.println(Thread.currentThread().getName(); x*=2; System.out.println(run +x); public void go() System.out.println(gogogo + x); 输出:mainThread-0run 10makeItSo 9maingogogo 5Thread-1run 10问题:join()问题6:Question123:public class Ques123 private static Object resource = new Object(

11、); private static void delay(long n) try Thread.sleep(n); catch (Exception e) System.out.println(error); e.printStackTrace(); public static void main(String args) System.out.println(StartMain); new Thread1().start(); delay(1000); Thread2 thread2 = new Thread2(); thread2.start(); delay(1000); thread2

12、.interrupt(); delay(1000); System.out.println(EndMain); static class Thread1 extends Thread public void run() synchronized (resource) System.out.println(Start1); delay(6000); System.out.println(End1); static class Thread2 extends Thread public void run() synchronized (resource) System.out.println(St

13、art2); delay(2000); System.out.println(End2); 输出结果:StartMainStart1EndMainEnd1java.lang.InterruptedException: sleep interruptedStart2errorEnd2 at java.lang.Thread.sleep(Native Method) at Ques123.delay(Ques123.java:11) at Ques123.access$1(Ques123.java:9) at Ques123$Thread2.run(Ques123.java:50)问题:inter

14、rupt();后为何报错问题6:Question 125:public class Ques125 int x = 0; public class Runner implements Runnable Override public void run() int current = 0; for(int i=0;i4;i+) current = x; System.out.println(current+,+Thread.currentThread().getName(); x = current + 2; public static void main(String args) new Qu

15、es125().go(); public void go() Runnable runnable = new Runner(); new Thread(runnable).start(); new Thread(runnable).start(); 选题答案:0, 2, 4 ,4 ,6 ,8 ,10 ,6 和 0,2,4,6,8,10,12,14自己试验的结果如下:输出结果1:0,Thread-00,Thread-12,Thread-02,Thread-14,Thread-04,Thread-16,Thread-16,Thread-0输出结果2:0,Thread-02,Thread-02,Th

16、read-14,Thread-04,Thread-16,Thread-06,Thread-18,Thread-1输出结果3:0,Thread-02,Thread-04,Thread-06,Thread-08,Thread-110,Thread-112,Thread-114,Thread-1问题7:Question126:public class Ques126 private List names = new ArrayList(); public synchronized void add(String name) names.add(name); public synchronized v

17、oid printAll() for(int i=0;inames.size();i+) System.out.println(names.get(i)+); public static void main(String args) final Ques126 sl = new Ques126(); for(int i=0;i2;i+) new Thread() public void run() sl.add(A +Thread.currentThread().getName(); sl.add(B +Thread.currentThread().getName(); sl.add(C +T

18、hread.currentThread().getName(); sl.printAll(); .start(); 答案结果:A B C A B C A B C A B C A A B C A B C试验输出结果:结果1:A Thread-0B Thread-0C Thread-0A Thread-0B Thread-0C Thread-0A Thread-1B Thread-1C Thread-1结果2:A Thread-0A Thread-1B Thread-0B Thread-1C Thread-0C Thread-1A Thread-0A Thread-1B Thread-0B Thr

19、ead-1C Thread-0C Thread-1设计模式篇问题1:傅 各种设计模式在实际开发中 的应用? 我们在将来的实际项目开发中,将如何正确使用设计模式?设计模式是一套被反复使用验证, 对代码设计经验的总结。使用设计模式是为了可重用代码、提高代码可维护性, 可理解性、保证代码可靠性。一方面, 设计模式是对代码设计经验的总结, 另一方面, 设计模式也被经常的使用到各高效, 成熟, 稳定的系统架构中也就是说在现有成熟系统中运行着无数这样的高质量的代码, 比如Java本身, Android的设计, 无处不存在对设计模式的运用撰写高质量的代码是每个开发人员应当追求的目标设计模式学习和使, 我总结

20、的经验是1. 多写代码, 2. 多看代码, 3. 设计模式的案列结合实际系统来看, 比如学习一个设计模式, 可以去找找java中, android哪里用到了, 是怎么用的另外一点, 设计模式并不是生搬硬套的, 有时会出现各种变种, 或者交叉使用问题2:黄工厂模式中,子类实例化的好处?与父类实例化的区别?工厂方法定义一个创建产品的接口, 由子类(工厂)来实现这个接口, 在这个接口方法里来实例化具体产品相比简单工厂, 是更高一层的抽象, 简单工厂在一个类里面来实例化多种产品, 对于要扩展一个新产品就会需要修改代码, 而工厂方法就能在不修改原有代码的情况下, 新增一个工厂类来产生新产品, 从这点来说

21、工厂方法更易于扩展问题3:黄接口和抽象类的区别?为什么接口让代码更具有弹性?具体体现在哪里?这个很基本的东西了, 很多面试题都会提到这个吧, 建议多看看书和相关资料先, 如果这个没明白, 后面讲再多也白搭问题4:黄命令模式与模块方法模式的区别?理论的东西不讲了, 我举个列子Java的线程实现了Runnable接口, 这就是个典型的命令模式Activity生命周期, 就是一个典型的模块方法问题5:顾抽象工厂模式 ?看书去问题6:傅模板方法模式,P295页中,如何理解将这些步骤实现成钩子,而不是实现成抽象方法,这样就可以让抽象类的子类的负荷减轻? 书本中提到的例子哪些地方体现上句话的内容?以Act

22、ivity生命周期为例, 为什么有些步骤在父类实现, 为什么有的才让子类来实现:Activity负责全局的生命周期, 很多钩子方法在父类中已有默认实现, 但子类可以改写他来做更深的定制抽象方法在父类不实现, 全由子类来实现子类在不改写钩子的情况下默认调用父类的实现, 当然减轻了负荷, 至少代码变少了啊P300页开始的“用模板方法排序”中,如何理解“排序”也是一种模板方法?不是 “排序”也是一种模板方法是可以用模板方法模式来实现排序算法比如, java中list类的sort方法就是用的模板方法模式(某种程度上也可认为是策略模式)他只提供了一个sort方法, 这个方法实现了一个归并排序算法的模板,

23、 但排序最根本, 大家知道对于数字就是比大小, 字母就是比先后, 但其他对象呢, 怎么得到这个准则, 所以sort方法对外暴露了一个实现了compare方法的Comparator接口对象compare方法就是用来得知, 俩对象, 俩俩比较的时候, 谁排第一谁排第二问题7:傅模板方法和策略的比较,及其在实际场合的应用。前面讲到了, Activity生命周期就是典型的模板方法模式模板方法和策略有相通的地方, 都是子类来实现父类需要实现的方法但策略侧重于多个子类来实现同样的接口或者抽象方法, 在编译时或运行时通过判断(配置或某种策略)来加载/实例化具体子类, 并且这些子类是可以置换的策略模式, an

24、droid中状态栏运用了此模式, 分别实现了phone和pad的相关类, 并通过配置来决定使用那种模式问题8:傅网上看到的话:“设计模式就是定式,碰到这种场合你才用得上,所以学习设计模式,你只需要花2个小时过一遍,脑子里面有个印象就赶快收手,到用的时候再去copy & paste”。对于我们这些没有什么项目经验的初学者来说,设计模式的学习是一个怎样的过程?如果把Head First 设计模式中所有的例子都消化了,但是在实际应用中却还是不知道该用什么设计模式怎么办?公司开发的项目中有没有一些固定的模块使用了相关的设计模式,我们在以后的实际开发中可以套用这些模块?见问题1/问题9:傅p136页,工

25、厂模式中。工厂模式的好处:将创建对象的代码集中在一个对象或方法中,可以避免代码中的重复,并且方便以后的维护。这意味着客户实例化对象时,只会依赖于接口,而不是具体类。我在学习中可以发现,这可以帮助我针对接口编程,而不是针对实现编程。这让代码更具有弹性,可以应对未来的扩展。书本中的例子:以上将创建对象的代码集中在一个方法中。这方法之前你要产生NYStylePepperonPizza是不是得依赖具体类NYStylePepperonPizza.class使用之后, 你只要调用NYPizzaStore.CreatePizza(“pepperoni”), 就不用依赖具体类了从下面的代码中如何理解“这意味着

26、客户实例化对象时,只会依赖于接口,而不是具体类”?依赖于orderPizza接口方法而不是具体去new 某个具体类p156页中,“抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道(或关心)实际产出的具体产品是什么。”如何在代码中体现?看书看代码去这么说吧简单工厂就是抽象产品, 一个工厂生产多个产品, 告诉工厂需要什么就能得到什么工厂方法就是从工厂层次进行抽象, 一个工厂对应一个产品, 告知我要什么工厂就能得到什么产品抽象工厂同时抽象产品和工厂, n个工厂, 每个工厂产生多种产品, 告诉每一次都是站在更高的层次来进行抽象以获得更高层次的扩展或更多的对象, 更好的弹性 开场白许多学

27、生认为数学是枯燥的、乏味的。一些非数学老师在听完一堂数学课后,往往这样评价:思路清晰、语言精练、解题严谨,就是太乏味、缺少趣味性,让人昏昏欲睡。那么,如何调动学生的上课积极性,引发他们的好奇心?设计好“开场白”,非常关键。下面是数学课的几个片断:动手实验式“开场白”:桌上摆满了切成各种形状的萝卜,大伙好像还在热列地讨论着什么。老师微笑问:“同学们,用一个平面去截一个正方体,截出的面可能是什么形状?”悬念式“开场白”:老师一上讲台,故意神神秘秘地说“你们每人随便想一个自然数,将这个数乘5减7,再把结果乘2加14”。“你们算得的结果个位数字一定是0”。顿时教室里象炸了锅似的,“等你学了字母表示数,

28、你也会算了”。故事式“开场白”:为了让学生体会图形的边长、周长、面积在变化过程中的关系,领会列方程解应用题时,关键是捕捉到不变的量。老师先给学生讲了一个故事:父亲的羊越来越多,想拆旧羊圈扩大面积,可是没有多余的篱笆,怎么办呢?他叫来了儿子,儿子不慌不忙地说:“爸,我有办法”。“你看,旧羊圈长70米,宽30米,面积2100平方米。如果改成50米见方的新羊圈,不用添篱笆,羊圈面积就有2500平方米”。诸如此类的还有:“贴近生活式”开场白;“设疑式”开场白;“名言式”开场白;“趣味式”开场白;“实例式”开场白;“比喻式”开场白等等。向学生提出恰当的问题,激发起学生的兴趣,提高他们学习的积极性。 开场白许多学生认为数学是枯燥的、乏味的。一些非数学老师在听完一堂数学课后,往往这样评价:思路清晰、语言精练、解题严谨,就是太乏味、缺少趣味性,让人昏昏欲睡。那么,如何调动学生的上课积极性,引

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2