版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 入门 系统 Java 基础知识部分总结1、虽然有很多朋友可能进行了多年的 缺乏仔细探究。java 开发老手,但可能仍旧对某些点2、去一些公司求职面试或笔试时的技术题目中,也往往会涉及到这里的一 些内容。所以,希望下边的这些总结能够对一些学习 1、 关于 java 类中的缺省的构造器java 或求职的朋友有些许帮助。如果一个 java 类没有显式定义没有参数的构造器,将有一个默认缺省的构造器。如果定义了一个有参数的构造器,那么原来的缺省的构造器将不在有效。public class A 此时如果用 new A(); java 编译器将使用缺省的构造器。public class A pub
2、lic A(int i) 如果此时用 new A(); 参数的构造器。将产生一个编译错误,因为此时显式定义了,一个有2、Java中的类名与文件名1、在一个 java 文件中可以有多于一个类定义( 更常见于某些组件的监听器类) ,但只能有一个 public class 定义,且与文件同名。2、如果一个 java 源文件中没有 public 即不必与文件同名。类,那么每个类的名字没特殊规则,3、在编译后产生的 class 文件中,仍旧是多个单独分开的 class 文件。3、import 关键字1、import 语句必须定义在所有的class 定义之前。2、import 语句只是为编译器指明了一个路
3、径, 并不像 C或 C+中的 #include ,所以用 import .* 并不影响性能4、Java 中的几个特殊关键字Java 中的关键字许多大家都比较熟悉,而有几个就不是很常用,如:1、goto 和 const 是保留关键字,在 java 中没使用2、strictfp 和 volatile 不常用 ; sizeof、zhen 不是关键字。3、true,false,null 不是严格意义上的关键字,而是 literals。5、java 方法中的传递值参在 Java 方法中传递参数,对于基本类型来讲传递的是值参数,相当于建立的一个参数的拷贝,不影响原来变量的值。在引用方法中可以改变传递对象的
4、内容,但对象引用 会改变。public class tt ( 像 A5d87b2) 从来不public static void main (String args) A aa = new A(); aa.num =5; tt t = new tt(); aa=+aa + num=+aa.num); System.out.println(11 t.test(aa); aa=+aa + num=+aa.num); System.out.println(22 void test(A a) A ab = new A(); a = ab; System.out.println(33 ab=+ab + n
5、um=+ab.num); class A int num; 6、变量初始化java 中的变量在使用之前必须被初始化,当创建一个对象的时候一些类的变量会自动初始化并赋予缺省值。数字类赋值 0;char 类型赋值 u0000; boolean类型赋值 false;引用对象赋值 null; 注意的是在方法之外的类变量的值是自动赋初始值,须手工初始化。class AA int num; void test() int j; j =5;/ 没有这一行则编译不会通过。j = j+num; 7、switch 语句而方法内的局部变量必这个点经常在求职笔试题目中出现。default 放在最上边编译没问题 ; 碰
6、到符合分支的,如果没有 break 会一直向下运行。public class tt public static void main (String args) tt t = new tt(); t.test(2);/ 可改变成 3 运行一下看一下结果 void test(int i) switch (i) default: System.out.println(default); case 1: System.out.println(111); break; case 2: System.out.println(222); break; 8、关于 java 中的 label使用/ 这里的 st
7、atement 必须是一个 loop 循环? break label ? continuelbele ? lable: statement; public class tt main (String args) public static void tt t = new tt(); t.test(); void test() System.out.println(0000); lb1:for (int i=0;i10;i+) j+) lb2:for (int j=0; j2; if (i=2) continue lb1; + j=+j); System.out.println(i=+i Sys
8、tem.out.println(111111); 9、类型转换校正class | class Employee Manager 向上校正,总是允许的, Manager直接使用父类 Employee的方法。向下校正,必须用 instanceof检验,才能将一个Employee转换为 Manager对象。public void test(Employee e) if (e instanceof Manager) Manager m = (Mnager)e; . 10、方法重载 (overloading)、方法覆盖 (overriding) 方法重载 (overloading) 一定要求名字相同,参
9、数不同,返回类型可以相同也可以不同class A i) void test(int class AA extends A j) int test(int i, int return 5; 注:方法覆盖 (overriding)要求名字,参数,返回类型全部必须相同,访问控制符可以不同, 但必须大过父类的。 因为如果名字和参数都已经相同了则一定 要求返回类型相同,否则认为这是一个新的方法了,名字就必须不同了。class A i) void test(int AA extends A i)/若是换成 private则编译不通过。class public void test(int 注:关于覆盖方法抛
10、出异常的问题。如A 是父类, B是继承 A的子类。 B 中的方法 meth() 去覆盖父类 A的此方法时, B 中不能 throws 出新的异常,只能是 父类抛出的异常或其子集。更甚至可以不抛出异常。11、关于类的构造器重载问题class A A(int i) public AA extends A class public AA() 这里出错,没有父构造器int i = 5; / 由于父类 A 自定义了构造器, 所以缺省的构造器就丢失了, 当子类的构造器 自动试图调用父类没参数的构造器时却没有,所以会编译出错。12、关于 static关键字总结:this变量,只能引用一些静态变量或1、不能在
11、 static修饰的方法中引用方法,或 new新的对象 ( 可以定义局部变量 ) 。简言之,静态方法或块中,只能引用静态的方法或变量。2、类中的成员变量 (static 量没有缺省值。修饰 ) 有缺省值,而类的定义的方法中的局部变3、在类的构造器中,可以引用任何的静态或非静态的变量和方法,可以在非 static 方法中调用 static 方法。4、static 块中的代码在类装载中仅执行一次。5、在 7-7,A static method cannot be overridden but can be hidden. 不理解。6、不能在无论非 static 方法中或 static 方法中定义
12、static 变量。13、关于 final 关键字1、不能继承 final 修饰的类,不能覆盖 final 修饰的方法。2、final 修饰的变量,若没赋值,必须在构造器中赋初始值。class A final int j; public A() j = 9;/ 若没有此行,则编译不通过。 3、final类型的方法参数可定义,但不能改变。没问题。class A void m(final int i) / 这一行的声明 i 为一个 finali + ; / 但在这里面, i 的值不能再被改变。 14、Interface 接口关键字1、接口中的变量1、必须初始化其值。2、默认修饰符为 public+
13、static+final, 2、接口中的方法 1、默认为 public+abstract 其他的修饰符不允许。2、其它修饰符static,private,protected,final,synchronized,native均不能有。s() 修饰符默interface A void s(); class AA implements A void s() / 编译器在这里提示由于接口中的方法认是 public ,/ 而这里的 s() 默认是 protected ,小于 public 所以不允许。 15、abstract 抽象关键字abstract class A private int i; p
14、rivate void m(); 抽象类中可以有私有的变量和私有属性,而接口就不行 ( 原因如上 ) ,这是因为 java 是按实例虚拟调用的,在生成某一个具体的对象可以有私有的属性或方法的。abstract class A n();/若是 private则编译不通过。private int i; private void m(); public abstract void 抽象类中的抽象方法是让其他类继承的,意义了16、集合类型以有无顺序,允许不允许重复区分如果本身都是私有的, 就没有什么Collections: 一组对象,无序集合,允许重复Set:无序集合,不允许重复List :有序集合,
15、允许重复注意:在 JDK1.1 中定义的集合类型, 都是线程 安全 的,所以都是“ 重量级”的。像 HashTable,Vector 而在 java2 中定义的一些新的集合类型如HashMap, ArrayList不是线程 安全的,是“ 轻量级” 的, 但速度快, 性能好。这一点在许多公司面试试题都见过。17、布局管理器 FlowLayout,BorderLayout,GridLayout,CardLayout 关于 Panel 和 Frame默认的 Layout 常在一些公司的面试试题中出现。1、Panel 和 Applet 类默认的布局管理器是 2、Frame和 window类默认的布局管
16、理器是FlowLayout 一个一个的加上去 BorderLayout 按东南西北加入3、xyLayout 是 Borland 公司开发的布局管理器。18、面试试题中 Applet 部分 1、使用代码 2、可以覆盖的方法 init(),start(),stop(),destory(),paint(g) 19、面试试题中线程部分1、基本实现方式两中,继承Thread 类和实现 Runnable 接口2、必须实现父类或接口中的 run() 方法。3、有关线程方法, start() 启动线程。join() 指在调用这个线程的方法或进程中, 必须等待此线程运行结束才能继续其他进程。4、线程中的同步 s
17、ynchronized, 注意死锁。20、对象串行化1、仅仅对象类型的数据可以串行化。2、标记为 transient的数据不可以串行化。存储 一个对象到某种永久性 存储 叫 persistence ,如存储到磁盘、磁带或别的机器的内存中。java.io.Serializable 接口没有定义方法要实现,仅仅是一个标记暗示实现了这个接口的类可以被考虑串行化。没有实现这个接口的对象不能保存或存储它们的状态。当一个对象被串行化的时候, 仅仅数据被保留, 而方法和构造器不是串行化的部分。一些对象类是不能串行化的因为他们代表的数据是经常变化的。如java.io.FileInputSream 和 java
18、.langThread。如果串行化的对象包含了不可串行化的对象,整个串行化动作会失败,并抛出 NotSerializableException。21、java 中的网络通讯一般的 TCP/IP 网络数据通信主要可分2 种, TCP和 UDP TCP:TCP是面向连接的通信 协议 ,就像打电话,先要拨通建立连接,传送的数据不会丢失。java 提供了 ServerSocket 和 socket 类。在 server 端,建立一个serverSocket ,并指定端口,并侦听连接。服务器 端代码ServerSocket sc=new ServerSocket(1111); Socket socket1= sc.accept(); DataInputStream s_in = new DataInputStream(socket1.getInputStream(); 客户端代码Socket socket2 = new Socket(192.168.1.1,1111); UDP:UDP非面向连接,就像写信,将传输的数据包成一个分组,可能有数据丢失服务器 端代码DatagramSocket server = new Datagr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西安健康工程职业学院《管理文秘与礼仪》2023-2024学年第一学期期末试卷
- 武汉民政职业学院《电工技术与电气控制》2023-2024学年第一学期期末试卷
- 个性化高端导购服务2024协议
- 2024版在线教育平台合作协议3篇
- 2024版反担保协议二
- 二零二五版临时用工岗位合同范本6篇
- 二零二五年度金融科技股票投资委托合同模板3篇
- 二零二五年度食品饮料个人物资采购合同参考文本6篇
- 四川职业技术学院《税收理论与实务》2023-2024学年第一学期期末试卷
- 二零二五版城市改造房屋拆迁挂靠管理合同3篇
- 公务员考试工信部面试真题及解析
- GB/T 15593-2020输血(液)器具用聚氯乙烯塑料
- 2023年上海英语高考卷及答案完整版
- 西北农林科技大学高等数学期末考试试卷(含答案)
- 金红叶纸业简介-2 -纸品及产品知识
- 《连锁经营管理》课程教学大纲
- 《毕淑敏文集》电子书
- 颈椎JOA评分 表格
- 员工岗位能力评价标准
- 定量分析方法-课件
- 朱曦编著设计形态知识点
评论
0/150
提交评论