java总结范文.doc_第1页
java总结范文.doc_第2页
java总结范文.doc_第3页
java总结范文.doc_第4页
java总结范文.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java总结范文 Java小结一1.继承降低工作量,降低程序的复杂性,使程序提高可扩展性.一个类继承另一个类(一个接口继承另一个接口)的关键字是extends,类之间的继承只能一对一,不能继承多个类。 继承的格式public class子类名extends父类名一个类继承接口的关键字是implements;一个类可以继承多个接口,接口之间用逗号隔开;继承的格式:public class类名implements接口名,接口名继承到了什么子类继承到了父类的所有公有属性和公有方法,构造函数是不能被继承的。 2.多态继承,多态,重写多态是指虽然是同一类型的对象,但在具体的调用时,由于继承和重写机制,方法执行的结果不同。 也就是,只有运行时才知道结果是什么,这是Java和其他编程语言的一个不同点。 3.重写重写是指,在子类中对从父类继承来的方法进行重写,即保持方法定义的不变,但方法内部实现同父类的不同。 下面用一个列子来把这三个东东联系起来。 先写一个StudentModle接口public interfaceStudentModlepublic voidstudy();public voidplay();写一个Student类继承StudentModle接口public classStudent implementsStudentModle/实现接口中的方法public voidstudy()System.out.println(“我在学习中”);public voidplay()System.out.println(“我在游戏中”);好了,在写一个UNStudent子类来继承父类Student类public classUNStudent extendsstudent/重写父类的study方法public voidstudy()System.out.println(“我是大学生,我在学习“);/子类特有的方法public voidmakeGF()System.out.println(“我在约会呢”);线索已经十分清晰了,UNStudent类的对象可以掉用父类中的所有方法,同时又具有自己独特的方法。 二数据类型、值传递和引用传递有什么区别,String是什么传递1.数据类型Java中的数据类型分为两大类,即原始数据类型和对象类型(或引用类型),后者是由Java类生成的对象的类型。 其中基本类型包括byte(1字节),int(4字节),short(2字节),long(8字节),char(2字节),float(4字节),double(8字节),boolean(true/flase)。 2值传递值传递只要指在基本数据类型之间在调用传递时遵守的规则。 即将目标变量的值重新拷贝一份,传递到新的变量中,这样就形成了两份独立的数据。 如果对新的变量的值做任何修改,是不会影响到目标变量的值;反之一样。 3引用传递引用传递适用于所有的类类型(自定义的类类型),创建对象的时候,对象名中保存的是对象实例在内存中的地址,如果对对象名做修改,对象实例是不会受到影响的。 4Sting的传递首先,Sting是Java里面的一个特殊的类,而不是一种基本数据类型,它有自己的方法和属性,所以Sting的传递是引用传递。 三3.Set如何遍历,有哪些子类、List如何遍历,有哪些子类、Map如何遍历,有哪些子类Map中是否可以放入null的key或Vlaue?Set,List呢?Set是一个接口,不能直接创建对象,它实现的子类有HashSet、TreeSet、LinkedHashSet、JobStateReasons、CopyOnWriteArraySet、ConcurrentSkipListSet、AbstractSet,HashSet、TreeSet两个。 它的对象是一个无序的集合,要遍历则得到对象的迭代器,方法为java.util.Iteratoriterator=对象名.iterator(),遍历时的格式为while(iterator.HasNext)EnumSet、其中常用的有for(int i=0;i 格式为for(int i=0;i 它的遍历比前面两个都复杂。 它首先要得到Key的集合。 格式为java.util.Setset=变量名.keySet();然后再得到set的迭代器java.util.Iteratoriterator=set.iterator();最后通过while循环;while(iterator.hasNext()E string=iterator.next();Value值类型count=map.get(string);System.out.print(string+t+count+n);四Swing界面相关,Swing组件的继承体系图、事件监听器的继承体系图。 1Swing组件的继承体系图2事件监听器的继承体系图五.递归与循环的区别一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 递归的能力在于用有限的语句来定义对象的无限集合。 使用递归时应该注意1)递归就是在过程或函数里调用自身;2)在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口。 在很多种情况下,迭代和递归都可以完成相同的功能,不过递归有些功能迭代就完成不了。 并且代码没有递归简洁,熟练使用递归后能提高代码质量。 循环是指一个过程或函数在其定义或说明中不断地重复某个过程,当不满足条件时退出循环,循环也必须有出口,否则就是死循环。 其实递归是循环的一种特殊的形式。 六I/O流继承体系结构图和分类。 文件复制的实现,原始数据类型读写2文件复制的实现源码public classReadFilepublic staticvoid main(String args)ReadFile rf=new ReadFile();/文件的路径String path=C:Documents andSettingsAdministrator桌面MATLAB基础教程.pdf;String dest=C:Documents andSettingsAdministrator桌面2.pdf;/得到系统的时间戳long start=System.currentTimeMillis();/写文件rf.copyFile(path,dest);long end=System.currentTimeMillis();long res=end-start;System.out.println(复制完毕,耗费时间+res+ms);/*文件拷贝*param src被拷贝的文件路径*param dest拷贝后的文件路径*/public voidcopyFile(String src,String dest)tryFileInputStream fis=new FileInputStream(src);FileOutputStream fos=new FileOutputStream(dest);int i=fis.read();while(i!=-1)/将读取到的字节写出去fos.write(i);/读取下一个字节i=fis.read();fos.flush();fos.close();fis.close();catch(Exception ef)ef.printStackTrace();3原始数据读写源码public classDataTextpublic staticvoid main(String args)DataText text=new DataText();String path=C:Documents andSettingsAdministrator桌面保存;text.saveFile(path);text.OpenFile(path);public voidsaveFile(String path)tryjava.io.FileOutputStream out=new java.io.FileOutputStream(path);java.io.DataOutputStream outs=new java.io.DataOutputStream(out);outs.writeByte (123);outs.writeInt (123234545);outs.writeChars(fefsdfsafgrwtq);catch(Exception ef)ef.printStackTrace();System.out.println(保存成功);public voidOpenFile(String str)tryjava.io.FileInputStream in=new java.io.FileInputStream(str);java.io.DataInputStream ins=new java.io.DataInputStream(in);byte b=ins.readByte();int c=ins.readInt();int lenth=ins.available();catch(Exception df)df.printStackTrace();七线程线程有几种创建方式?线程在程序中有几种状态?1.线程的创建方式第一种方式:通过继承Thread类创建第二种方式:通过实现Runnable接口创建使用第二种方式创建的好处:多个线程共享同一份资源;可以避免由于java单继承性带来的局限性。 2.线程在程序中的状态线程有四种状态,任何一个线程肯定处于这四种状态中的一种1)产生(New)线程对象已经产生,但尚未被启动,所以无法执行。 如通过new产生了一个线程对象后没对它调用start()函数之前。 2)可执行(Runnable)每个支持多线程的系统都有一个排程器,排程器会从线程池中选择一个线程并启动它。 当一个线程处于可执行状态时,表示它可能正处于线程池中等待排排程器启动它;也可能它已正在执行。 如执行了一个线程对象的start()方法后,线程就处于可执行状态,但显而易见的是此时线程不一定正在执行中。 3)死亡(Dead)当一个线程正常结束,它便处于死亡状态。 如一个线程的run()函数执行完毕后线程就进入死亡状态。 4)停滞(Blocked)当一个线程处于停滞状态时,系统排程器就会忽略它,不对它进行排程。 当处于停滞状态的线程重新回到可执行状态时,它有可能重新执行。 如通过对一个线程调用wait()函数后,线程就进入停滞状态,只有当两次对该线程调用notify或notifyAll后它才能两次回到可执行状态。 3.class Object下常用的线程函数wait()、notify()和notifyAll()这三个函数由java.lang.Object类提供,用于协调多个线程对共享数据的存取。 3.1wait()、notify()和notifyAll()1)wait()函数有两种形式第一种形式接受一个毫秒值,用于在指定时间长度内暂停线程,使线程进入停滞状态。 第二种形式为不带参数,代表waite()在notify()或notifyAll()之前会持续停滞。 2)当对一个对象执行notify()时,会从线程等待池中移走该任意一个线程,并把它放到锁标志等待池中;当对一个对象执行notifyAll()时,会从线程等待池中移走所有该对象的所有线程,并把它们放到锁标志等待池中。 3)当调用wait()后,线程会释放掉它所占有的“锁标志”,从而使线程所在对象中的其它synchronized数据可被别的线程使用。 八static用法与注意事项,=和equals的区别?1.static用法与注意事项:static可以修饰方法,也可以修饰属性静态方法通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法声明为static的方法有以下几条限制它们仅能调用其他的static方法。 它们只能访问static数据。 它们不能以任何方式引用this或super。 “类名.方法名”,静态方法的使用很简单如上所示。 静态变量声明为static的变量实质上就是全局变量。 当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。 静态变量与静态方法类似。 所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间.2.=和equals的区别=用于比较引用和比较基本数据类型时具有不同的功能比较基本数据类型,如果两个值相同,则结果为true而在比较引用时,如果引用指向内存中的同一对象,结果为true equals()方法的默认实现与=运算符相同,都是比较对象在内存中的地址是否相同。 例如Test test1=new Test();Test test2=new Test();Test test3=test1;System.out.println(test1.equals(test2);System.out.println(test3.equals(test1);System.out.println(test1=test2);System.out.println(test1=test3);输出为false,true,false,true。 十已完成项目的功能与缺陷1.简单画板的界面图已实现的功能在菜单下有打开、保存、另存为、退出等功能。 在界面中有直线、圆、矩形、曲线、颜色、橡皮等图标按钮。 在模型下有涂鸦,闪动等功能。 在帮助下有操作说明、关于等功能。 其中的涂鸦功能可以看到10个不同颜色的小球在不停地运动,整个画面的颜色不停的改变;闪动功能是四个小球从界面的四个角落同时出发,当达到中间时就返回,并改变颜色。 当按打开或另存为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论