《2022年Java入门系统Java基础知识部分总结 .docx》由会员分享,可在线阅读,更多相关《2022年Java入门系统Java基础知识部分总结 .docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品_精品资料_Java 入门 系统 Java 基础学问部分总结1、虽然有很多伴侣可能进行了多年的java 开发老手, 但可能仍然对某些点缺乏认真探究.2、去一些公司求职面试或笔试时的技术题目中,也往往会涉及到这里的一些内容.所以,期望下边的这些总结能够对一些学习java 或求职的伴侣有些许帮忙.1、 关于 java 类中的缺省的构造器假如一个 java 类没有显式定义没有参数的构造器,将有一个默认缺省的构造器.假如定义了一个有参数的构造器,那么原先的缺省的构造器将不在有效.publicclassA此时假如用newA;java 编译器将使用缺省的构造器.publicclassApublicAi
2、nti假如此时用 new A;将产生一个编译错误,由于此时显式定义了,一个有参数的构造器.2、Java 中的类名与文件名1、在一个 java 文件中可以有多于一个类定义 更常见于某些组件的监听器类 ,但只能有一个 public class定义,且与文件同名.2、假如一个 java 源文件中没有 public类,那么每个类的名字没特别规章, 即不必与文件同名.3、在编译后产生的 class文件中,仍然是多个单独分开的class 文件.3、import关键字1、import 语句必需定义在全部的 class 定义之前.2、import 语句只是为编译器指明白一个路径, 并不像 C或C+中的 #in
3、clude , 所以用 import .*并不影响性能可编辑资料 - - - 欢迎下载精品_精品资料_System.out.println11t.testaa;aa=+aa+num=+aa.num;System.out.println22aa=+aa+num=+aa.num;voidtestAaAab=newA;a=ab;4、Java 中的几个特别关键字Java 中的关键字很多大家都比较熟识,而有几个就不是很常用,如:1、goto 和 const 是保留关键字,在 java 中没使用2、strictfp和 volatile不常用; sizeof、zhen 不是关键字.3、true,false,
4、null不是严格意义上的关键字,而是literals.5、java 方法中的传递值参在 Java 方法中传递参数,对于基本类型来讲传递的是值参数,相当于建立的一个参数的拷贝,不影响原先变量的值.在引用方法中可以转变传递对象的内容,但对象引用会转变. 像 A5d87b2从来不publicclassttpublicstaticaa=newvoidA;mainStringargsAaa.num=5;ttt=newtt;System.out.println33ab=+ab+num=+ab.num;classAintnum;6、变量初始化java 中的变量在使用之前必需被初始化,当创建一个对象的时候一些
5、类的变量会自动初始化并给予缺省值.数字类赋值 0;char类型赋值 u0000; boolean类型赋值 false;引用对象赋值 null;可编辑资料 - - - 欢迎下载精品_精品资料_留意的是在方法之外的类变量的值是自动赋初始值,而方法内的局部变量必需手工初始化.classAAintnum;voidtestintj;j=5;/ 没有这一行就编译不会通过.j=j+num;7、switch语句这个点常常在求职笔试题目中显现. default放在最上边编译没问题 ; 遇到符合分支的,假如没有break 会始终向下运行.publicclassttpublicstaticvoidmainStrin
6、gargs ttt=newtt;t.test2;/可转变成 3 运行一下看一下结果voidtestinti switchidefault:System.out.printlndefault; case1:System.out.println111; break;case2:System.out.println222; break;8、关于 java 中的 label使用.breaklabel.continuelbele.lable:statement;/ 这里的 statement 必需是一个 loop 循环publicclassttpublicstaticvoidmainStringargs
7、可编辑资料 - - - 欢迎下载精品_精品资料_ttt=newtt; t.test;voidtest System.out.println0000; lb1:forinti=0;i10;i+lb2:forintj=0;j2;j+ifi=2continuelb1; System.out.printlni=+i+j=+j;System.out.println111111;9、类型转换校正classEmployee|classManager向上校正,总是答应的, Manager直接使用父类 Employee的方法.向下校正,必需用 instanceof检验,才能将一个 Employee转换为 Man
8、ager对象.publicvoidtestEmployeee ifeinstanceofManagerManager.m=Mnagere;10、方法重载 overloading、方法掩盖 overriding方法重载 overloading肯定要求名字相同,参数不同,返回类型可以相同也可以不同classvoidAtestinticlassAAextendsAint returntestinti, 5;intj可编辑资料 - - - 欢迎下载精品_精品资料_classpublicAAinticlassAAextendsApublicAAinti=5;/这里出错,没有父构造器注:方法掩盖 over
9、riding要求名字,参数,返回类型全部必需相同,拜访掌握符可以不同, 但必需大过父类的. 由于假如名字和参数都已经相同了就肯定要求返回类型相同,否就认为这是一个新的方法了,名字就必需不同了.classvoidclass publicAtestintiAAextendsAvoidtestinti/如是换成 private就编译不通过.注:关于掩盖方法抛出反常的问题.如A 是父类, B是继承 A的子类. B 中的方法 meth 去掩盖父类 A的此方法时, B 中不能 throws 出新的反常,只能是父类抛出的反常或其子集.更甚至可以不抛出反常.11、关于类的构造重视载问题由于父类 A 自定义了构
10、造器, 所以缺省的构造器就丢失了, 当子类的构造器自动试图调用父类没参数的构造器时却没有,所以会编译出错.12、关于 static关键字总结:1、不能在 static修饰的方法中引用 this变量,只能引用一些静态变量或方法,或 new新的对象 可以定义局部变量 .简言之,静态方法或块中,只能引用静态的方法或变量.2、类中的成员变量 static修饰 有缺省值,而类的定义的方法中的局部变量没有缺省值.可编辑资料 - - - 欢迎下载精品_精品资料_3、在类的构造器中,可以引用任何的静态或非静态的变量和方法,可以在非 static方法中调用 static方法.4、static块中的代码在类装载中
11、仅执行一次.5、在 7-7 , A static method cannot be overridden but can be hidden.不懂得.6、不能在无论非 static方法中或 static方法中定义 static变量.13、关于 final关键字1、不能继承 final修饰的类,不能掩盖 final修饰的方法.2、final修饰的变量,如没赋值,必需在构造器中赋初始值.classAfinal publicintAj;j=9;/如没有此行,就编译不通过.3、final类型的方法参数可定义,但不能转变.classAvoidmfinalinti/ 这一行的声明 i 为一个 final没
12、问题.i+;/ 但在这里面, i 的值不能再被转变.14、Interface接口关键字1、接口中的变量1、必需初始化其值.2、默认修饰符为 public+static+final,其他的修饰符不答应.2、接口中的方法1、默认为 public+abstract可编辑资料 - - - 欢迎下载精品_精品资料_2、其它修饰符static,private,protected,final,synchronized,native均不能有.interfaceAvoidclass voids;AAsimplementsA/ 编译器在这里提示由于接口中的方法s 修饰符默认是 public ,/ 而这里的 s 默
13、认是 protected ,小于 public所以不答应.15、abstract抽象关键字abstractprivate privateclassint voidAi;m;抽象类中可以有私有的变量和私有属性,而接口就不行 缘由如上 ,这是由于 java 是按实例虚拟调用的,在生成某一个详细的对象可以有私有的属性或方法的.abstractprivate private publicclassint voidAi;abstractm;voidn;/如是 private就编译不通过.抽象类中的抽象方法是让其他类继承的, 假如本身都是私有的, 就没有什么意义了16、集合类型以有无次序,答应不答应重复区
14、分 Collections:一组对象,无序集合,答应重复Set:无序集合,不答应重复List :有序集合,答应重复可编辑资料 - - - 欢迎下载精品_精品资料_留意:在 JDK1.1 中定义的集合类型, 都是线程 安全 的,所以都是“重量级” 的.像 HashTable,Vector而在 java2 中定义的一些新的集合类型如 HashMap, ArrayList不是线程 安全的,是“轻量级”的, 但速度快, 性能好.这一点在很多公司面试试题都见过.17、布局治理器FlowLayout,BorderLayout,GridLayout,CardLayout关于 Panel 和 Frame默认的
15、 Layout 常在一些公司的面试试题中显现.1、Panel 和 Applet 类默认的布局治理器是 FlowLayout 一个一个的加上去2、Frame和 window 类默认的布局治理器是 BorderLayout 按东南西北加入3、xyLayout 是 Borland 公司开发的布局治理器.18、面试试题中 Applet 部分1、使用代码2、可以掩盖的方法 init,start,stop,destory,paintg 19、面试试题中线程部分1、基本实现方式两中,继承 Thread 类和实现 Runnable 接口2、必需实现父类或接口中的 run 方法.3、有关线程方法, start启
16、动线程.join指在调用这个线程的方法或进程中, 必需等待此线程运行终止才能连续其他进程.4、线程中的同步 synchronized, 留意死锁.20、对象串行化1、仅仅对象类型的数据可以串行化.2、标记为 transient的数据不行以串行化.储备一个对象到某种永久性 储备 叫 persistence,如储备到磁盘、磁带或别的机器的内存中.可编辑资料 - - - 欢迎下载精品_精品资料_java.io.Serializable接口没有定义方法要实现,仅仅是一个标记示意实现了这个接口的类可以被考虑串行化. 没有实现这个接口的对象不能储存或储备它们的状态.当一个对象被串行化的时候, 仅仅数据被保
17、留, 而方法和构造器不是串行化的部分.一些对象类是不能串行化的由于他们代表的数据是常常变化的.如java.io.FileInputSream和 java.langThread.假如串行化的对象包含了不行串行化的对象,整个串行化动作会失败,并抛出NotSerializableException.21、java 中的网络通讯一般的 TCP/IP 网络数据通信主要可分2 种, TCP和 UDPTCP:TCP是面对连接的通信 协议 ,就像打电话,先要拨通建立连接,传送的数据不会丢失.java 供应了 ServerSocket 和 socket 类.在 server 端,建立一个serverSocket
18、 ,并指定端口,并侦听连接.服务器 端代码ServerSocketsc=newServerSocket1111; Socketsocket1=sc.accept;DataInputStreams_in=newDataInputStreamsocket1.getInputStream ;客户端代码Socket socket2 = new Socket192.168.1.1,1111;UDP:UDP非面对连接,就像写信,将传输的数据包成一个分组,可能有数据丢失服务器 端代码DatagramSocketserver=newDatagramSocket1234; DatagramPacketin_pa
19、cket=newDatagramPacketin_buf,2022;server.recievein_packet;客户端代码可编辑资料 - - - 欢迎下载精品_精品资料_DatagramSocketclient=newDatagramSocket1235; DatagramPacketout_packet=newDatagramPacketout_buf,100,192.168.1.1,1234; client.sendoutPacket;22、String对象一般讲来创建的两个对象假如用=来比较确定是不等的, 由于他们的引用的址是不同的,而 =是对于对象来讲是比较对象的址的.但对于String对象来讲是一个例外,两个 String对象假如值相同, =比较也是相同的.我想这可能与Sun公司对 String对象定义有关.publicclassttpublicstaticvoidmainStringargs ttt=newtt;t.test2;voidtestinti Strings1=123; Strings2=123; ifs1=s2System.out.println111111;else System.out.println2222222;结果输出: 111111可编辑资料 - - - 欢迎下载
限制150内