版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类的封装就是将成员变量,让外界程序不能随意改变的类的成员变对这个变量进行。对一个变量的操作,一般都有和赋值操作,我们一般定义两个方法来实现这两种操作,即:getXxx()setXxx();(注:这里需要理解,类的成员变量、属性public *privateString*privateint通过getpublicStringgetName()return}通过setpublicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}}Java(可以实现多个接口),意味着一个类只能从另一个类继承(被继承的类叫做父类【基类,baseclass】,继承的类叫做子类),Javaextends生成子类对象顺序,JavapublicclassTestpublicstaticvoidmain(String[]args){Sonson=newSon();Sonson1=new}}classFatherpublicStringpublicFather()}publicFather(Stringname)=}}classSonextendsFatherpublicSon()}publicSon(Stringname)}}3).superpublicSon(Stringname)/}
(调用父类的构造函数)示调用父类的构造函数,此时super指的是对父类的的。在子类构造函数中,super(Overloadthis()的方式调用,this()括号中的参数表示目标构造方法的参数。this()classSonextendsFatherpublicSon()}publicSon(Stringname)}@paramagepublicvoidsay o(intage){ oyourageis"+age);}@paramname@paramagepublicvoidsay o(Stringname,intage){System.out.println("hi"+name+"!yourageis"+age);}@paramage@paramnamepublicvoidsay o(intage,Stringname){System.out.println("hi"+name+"!yourageis"+age);}}(OverrideclassFatherpublicStringsay(Stringstr)return"yoursay"+}}classSonextendsFather*publicStringsay(Stringstr)return"yoursay}}请重载这个方法。意思,父类的指向子类,就是多态。Busbus=newCar();//父类的指向子类轿bus.run();//runrun(upcast(downcastCollectionCollectionCollectionObject,即(Elements。一些JavaSDKCollectionListSet。Collection,Collection有相同的元素。后一个构造函数允许用户一个CollectionListListJavalistItor()方法,返回一个ListItor接口,和标准的ItorListLinkedList,ArrayList,VectorStack。ArrayListnull,以及重复元素。ArrayListsize,isEmpty,get,setaddnO(n)的时间,其他的方法运行时间为线性。ArrayList每个ArrayList实例都有一个容量(Capacity,即用于元素的数组的当需要插入大量元素时,在插入前可以调用ensureCapacity方法来增加ArrayListpublicclassTest1publicstaticvoidmain(String[]args){ArrayListlist=newArrayList();Listlist=Collections.synchronizedList(new;//}}LinkedListgetremoveinsertLinkedList的首部或尾部。这些操作使(stack(dequepeek、offer、pushArrayListLinkedList2).对于随机get和set,ArrayList觉得优于LinkedList,因为LinkedList3).对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList的速度反而优于LinkedList。但若是批量随机的插入删除数据,ArrayListVector目前数组长度的100%,而arraylist50%.如过在集合中vector存在,A,A机制存在,A,ASetSetCollection,e1e2CollectionObjectObject.equals(Object)=true不仅实现了哈希算法,而且实现了链表数据结构。TreeSetSortedSetMapMapkey,keyvalue。Mapkey-valueHashTableHashtableMapkey-valueget(key),这两个基本操作的时间开销为常数。getputpublicclassMapTestpublicstaticvoidmain(String[]args){Hashtablemap=newHashtable();map.put("1","o");map.put("2",Hashtablemap1=newHashtable(1);map1.put("1","o");map1.put("2","word");}}HashMapHashMapHashtableHashMap许nullnullvaluenullkeyHashMapCollection(values()CollectionloadfactorpublicclassMapTestpublicstaticvoidmain(String[]args){HashMapmap=newHashMap();map.put("1","o");map.put("2","word");map.put(null,null);}}HashMapTreeMapTreeMap(HashMap)。hashCode()equals()TreeMapHashTableHashMapHashMapMapHashMapkeyvalue三、I/OFile一个File类的对象,表示了磁盘上的文件或 FileFile类没有指定信息怎样从文件或向文件File File类还可以浏览 层次结构publicclassFileTestpublicstaticvoidmain(String[]args)Filefile=newSystem.out.println("是否可执行:System.out.println("是否可读:System.out.println("是否可写:System.out.println("文件名称:System.out.println("文件绝对路径://创建文件 //file.mkdir();file.createNewFile();}}练习:在 I/OJava程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理设备。尽管与它们的物理设备不尽相同,网络的不同。Javajava.io(以字符为处理单位或称面向字符ReaderWriter。16读
intread():一个字节数据,并返回读到的数据,如果回-1,intread(byte[]b):将数据读入一个字节数组,同时返回实际的intread(byte[]b,intoff,intlen):将数据读入一个字节数组,同时返回实际的字节数。如果返回-1,表示读到了输入流的末尾。off指定在数组b中存放数据的起始偏移位置;len指定的最大字节数。intavailable():返回在不发生阻塞的情况下,可的字节数voidclose():publicclassFileTestpublicstaticvoidmain(String[]args)Filefile=new//定义输入流对象InputStreamisnull;try{is=newbyte[]temp=newwhile(-1!=is.read(temp)){System.out.println(newString(temp,"gbk"));}}catch(FileNotFoundExceptione){}catch(IOExceptione)}finallyif(null!=is)try}catch(IOExceptione){}}}}}
voidwrite(intb)voidwrite(byte[]b)bvoidwrite(byte[]b,intoff,intlen)bofflenvoidflush()voidclose():publicclassFileTest1publicstaticvoidmain(String[]args)Filefile=newif(!file.exists())try}catch(IOExceptione){}}OutputStreamos=tryos=newStringstr="我要向文件中写入内容,嘻 写写}catch(FileNotFoundExceptione){}catch(IOExceptione){}finallyif(null!=os)try}catch(IOExceptione){}}}}}FileInputStream节点流,用于从文件中或往文件中写入字节流。如果在构FileOutputStreamBufferedInputStreamDataInputStreamJavaObjectInputStreamJavaPipedInputStreamPipedInputStreamI/O1、使用带缓冲的流,实现上面实例中对文件的、写入2、创建一 类有属性实例化类将对象持久到 中,然后文件,将信息打印到控制台中(提示:使用ObjectOutputStream流ReaderReaderread(),来实现对相应外设的输入操作。InputStreanpublicclassFileTestpublicstaticvoidmain(String[]args)Filefile=new//定义输入流对象Readerreadernull;try{reader=newchar[]temp=newwhile(-1!=reader.read(temp))}}catch(FileNotFoundExceptione){}catch(IOExceptione)}finallyif(null!=reader)try}catch(IOExceptione){}}}}}WriterWriter中包含一套字符输出流需要的方法,可以完成最基本的输出数据到Writerwrite(),来实现对相应外设的输出操OutputStreampublicclassFileTest1publicstaticvoidmain(String[]args)Filefile=newif(!file.exists())try}catch(IOExceptione){}}Writeros=tryos=newStringstr="我要向文件中写入内容,嘻 写写}catch(FileNotFoundExceptione){}catch(IOExceptione){}finallyif(null!=os)try}catch(IOExceptione){}}}}}InputStreamReaderFileReaderInputStreamReader。FileWriter创建一个可以写文件的Writer类。FileWriter继承于OutputStreamWriterCharArrayReaderCharArrayReaderCharArrayWriterBufferedReaderBufferedWriterBufferedReaderBufferedWriterflush(Writer.flush(以用来确保数据缓冲区确实被写到实际的输出流。BufferedWriter可以通publicclassFileTest@param@throwspublicstaticvoidmain(String[]args)throwsIOException//TODOAuto-generatedmethodFilefileIn=newFile("D:\\ftest\\fin.txt");FilefileOut=newFile("D:\\ftest\\fout.txt");BufferedReaderreader=newBufferedReader(newBufferedWriterwriter=newBufferedWriter(newStringline="";Stringtext=while((line=reader.readLine())!=null){text+=line+"\n";} BufferedInputStreamreader1=newBufferedInputStream(new BufferedOutputStreamwriter1=newBufferedOutputStream(new intbytes= while((bytes=reader.read())!=- }3.4I/O编写一个移动文件程序,要求d:/test/a.txt文件移动e:/me/test/ 将练习的1中的文件拷贝到 Windowsexerun()方法。Java1RunnablepublicclassThreadTestimplementsRunnableprivateStringpublicStringgetName()return}publicvoidsetName(Stringname)=}publicvoidrun()for(inti=0;i<10;i++){System.out.println(name+":"+i);}}publicstaticvoidmain(String[]args){ThreadTesttt1=newThreadTest();ThreadTesttt2=newtt2.setName("Threadt1=newThread(tt1);Threadt2=new}}publicclassThreadTest1extendsThreadprivateStringpublicThreadTest1(Stringname)=}publicvoidrun()for(inti=0;i<10000;i++){System.out.println(name+":"+i);}}publicstaticvoidmain(String[]args){ThreadTest1t1=newThreadTest1("");ThreadTest1t2=newThreadTest1("}}3java运行状态、阻塞状态及状态。新建状态就绪状态start()方法即启动了线程,start()方法创建线程运行统的线程调度程序(threadscheduler)来调度的。运行状态CPUrun()阻塞状态线程运行过程中,可能由于进入阻塞状态:1>sleep3>4>CPU状态有两个原因会导致线程run方法正常退出而自然runisAlivetrue;如果线程仍旧是new状态且不是可运行的,或者线程了,则返回false.同步方法上时,自动获得与正在执行代码类的当前实例(this)有关当程序运行到synchronized同步方法或代码块时才该对象锁才起作synchronizedsynchronizedpublicintfix(inty)synchronized(this)x=x-}return}void voidnotifyAll()voidwait() notify()法或notifyAll()方法。wait()、notify()、notifyAll()Objectwait()方法获
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版船舶建造安全质量监督合同3篇
- 二零二五年度商业地产买卖合同违约赔偿细则4篇
- 2025年版委托印刷厂生产环保宣传册合同的详细条款3篇
- 2025年度行政管理与信息技术应用合同4篇
- 二零二五版新能源产业贷款分期付款与市场推广合作合同3篇
- 租赁合同电子版下载
- 2025年企业物业安全维护及应急处理合同2篇
- 2025年度临时仓库租赁合同(含仓储节能服务)4篇
- 二零二五年钢结构桥梁检测与维修保养合同3篇
- 二零二五年度环保设备销售合同规范范本4篇
- 单位车辆变更名称的委托书
- 粉尘外协单位清理协议书
- 2023年12月首都医科大学附属北京中医医院面向应届生招考聘用笔试近6年高频考题难、易错点荟萃答案带详解附后
- 茶室经营方案
- 军队文职岗位述职报告
- 小学数学六年级解方程练习300题及答案
- 电抗器噪声控制与减振技术
- 中医健康宣教手册
- 2024年江苏扬州市高邮市国有企业招聘笔试参考题库附带答案详解
- 消费医疗行业报告
- 品学课堂新范式
评论
0/150
提交评论