JAVA百问百答
yinwenjun1
这个作者很懒,什么都没留下…
展开
-
ResultSet的指针原理是什么?first() last() beforefirst() afterlast() absolute(int) 怎么指向的?
如果要明白这些方法怎么用,必须先了解ResultSet的原理是什么。在API文档里,是这样介绍指针的。ResultSet对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。“最初,光标被置于第一行之前”(如图)原创 2013-04-22 16:16:48 · 1375 阅读 · 0 评论 -
Portected修饰符的作用域多大?
protected:protected对于子类、同目录下的类来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private原创 2013-04-19 14:35:58 · 381 阅读 · 0 评论 -
HashSet中的add()机制是怎么样的。
首先必须明白两点。Set集合中不可以添加重复元素。HashSet有什么特性。Add()机制与Object中equals()、hashCode()方法有关。当要添加一个元素进入集合时,它首先会判断集合中的元素的hashCode值是否和要添加的元素的hashCode值相等。如果不相等则添加进入集合。如果相等,则需要再用equals()方法来再次进行比较。如果这次返回false则添加。如果返回tru原创 2013-04-19 14:36:37 · 382 阅读 · 0 评论 -
为什么equals()方法和hashCode()方法需要同时重写?
因为当前类(重写equals()方法和hashCode()方法的类)在后续开发中可能需要添加进入集合。而添加进入集合是依据equals()方法和hashCode()方法来判断的。所以如果要重写,就要同时重写,那么就都不重写。原创 2013-04-19 14:37:24 · 265 阅读 · 0 评论 -
java中Return有什么特点?
只要执行到return,方法就结束。无论return是在循环里还是在哪里。在try catchfinally模块中,Finally总会执行。原创 2013-04-19 14:37:59 · 347 阅读 · 0 评论 -
字节流和字符流的区别是什么?
字节流和字符流的区别: 1,字节流读取的时候,读到一个字节就返回一个字节。 字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8 码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。 2,字节流可以处理所有类型数据,如图片,mp3,avi。 而字符流只能处理字符数据。 结论:只要是处理纯文本数原创 2013-04-19 14:38:35 · 532 阅读 · 0 评论 -
IO流中的(临时)缓冲是个什么意思?
不是说他有缓冲方法,而是说它会在写入目标文件时先缓存后一次性写入,不信你可以写入不调用flush方法,你会发现写入的东东不存在,那是因为还在缓存里面,没有真正写入到文件中。当然这里写入数据要少一些,否则当缓冲区满了会自动调用flush方法,一般小于1024字节。原创 2013-04-19 14:39:09 · 405 阅读 · 0 评论 -
编码与解码的区别
编码:把字变成代码解码:把代码变成字原创 2013-04-20 19:24:37 · 744 阅读 · 0 评论 -
常用字Unicode的编码
String base = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740\u4e2a\u5730\u5230\u5927\u91cc\u8bf4\u5c31\u53bb\u5b50\u5f97\u4e5f\u548c\u90a3\u8981\u4e0b\u7原创 2013-04-20 19:25:28 · 890 阅读 · 0 评论 -
Unicode汉字、英文字母、数字的unicode范围
汉字:[0x4e00,0x9fa5](或十进制[19968,40869]) 数字:[0x30,0x39](或十进制[48, 57]) 小写字母:[0x61,0x7a](或十进制[97, 122]) 大写字母:[0x41,0x5a](或十进制[65, 90]原创 2013-04-20 19:25:50 · 8183 阅读 · 0 评论 -
getDeclaredMethod方法和getMethod方法区别?
getDeclaredMethod*()获取的是类自身声明的所有方法,包含public、protected和private方法。getMethod*()获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。原创 2013-04-20 19:26:13 · 1039 阅读 · 0 评论 -
Java中的Class类又是什么?
这是我从网上找到的解释:仅供参考解释1:Class类就是你new出来的那个对象的模版 你这么想就ok了 Class会记录你new的那个对象的元数据,包括 方法信息 属性信息 实现的接口信息等等等等 虚拟机装载的就是这个Class对象 而你new的东西就是实际对象属性值的集合。解释2:首先,每一个JAVA类会编译成一个class文件,当一个JAVA类被加载到JVM中也,也就是加载对应原创 2013-04-20 19:26:31 · 492 阅读 · 0 评论 -
字段摘要是干什么的?
字段摘要就是类里定义的字段,最常见的就是有的工具类中定义很多静态字段,可以方便地让我们在调用方法时作为参数传递,使用这种静态常量就比你自己去记住常量的值方便多了。 比如Calendar类中有静态常量YEAR,其实就是int值1,而你要想知道年份用什么代表就不用自己去记住这个1,只要直接调用Calendar.YEAR就行了,要获取年份就直接Calendar.get(Calendar原创 2013-04-20 19:26:47 · 485 阅读 · 0 评论 -
定义方法时不写public那么该方法的默认修饰符是什么?
修饰符有public、protected、private,当然还有缺省的(default)修饰符,缺省的就是方法名前无任何修饰符。缺省时的修饰符默认为friendly。缺省的(也就是你认为的默认修饰符)修饰符的访问权限都不同于public、protected、private所修饰的方法。所以访问权限其实有四种。下面是他们四个访问权限的关系。我是拿类的方法来举例:原创 2013-04-19 14:35:23 · 906 阅读 · 0 评论 -
接口有什么用?
java不允许多重继承,也就是说一个子类只能有一个父类,Son extendsFatherA,FatherB 是错误的 为了弥补这点不足,java允许实现多个接口,Sonextends FatherA implements AnotherFatherA,AnotherFatherB是允许的 接口中的方法没有实体,就这一点而言就相当于abstact class,如:原创 2013-04-19 14:33:43 · 346 阅读 · 0 评论 -
异常处理的一般规则是什么?
能够处理就处理,不能处理就往上抛。注意:当程序执行throw时,抛完异常后,线程死掉。当程序出现异常,程序内容里的代码将停止执行,转而执行catch里的代码(finally一定会执行)。执行完后,不会继续执行在当前try里出现异常之后的语句。 会跳出当前的try -catch。往后执行。原创 2013-04-22 16:17:01 · 359 阅读 · 0 评论 -
什么是接口?
接口(interface):接口的地位等同于class,接口中的所有方法都是抽象方法。在声明接口中的方法时,可以使用abstract关键字,也可以不使用。通常情况下,都会省略掉abstract关键字。可以将接口看作是特殊的抽象类(抽象类中可以有具体方法,也可以有抽象方法,而接口中只能有抽象方法,不能有具体方法)。原创 2013-04-19 14:33:14 · 260 阅读 · 0 评论 -
什么是工厂模式?
工厂方法模式(FactoryMethod Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪原创 2013-04-19 14:22:21 · 310 阅读 · 0 评论 -
java中的super怎么用?
Super就是用来调用父类的东西的。比如调用父类的方法或成员变量。class Person{ public int c=12; private String name; private int age; protected void setName(String name){ this.name=name; } protected void setAge(int age){ t原创 2013-04-19 14:28:30 · 338 阅读 · 0 评论 -
方法重写和方法重载有什么区别?
方法重载(overloading method) 是在一个类里面,方法名字相同,而参数不同。返回类型呢?可以相同也可以不同。 方法重写(overiding method) 子类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 方法重载:是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个原创 2013-04-19 14:29:53 · 523 阅读 · 0 评论 -
抽象类有什么用?
抽象类虽然不能被实例化,但是他可以被继承。那么抽象类到底有什么用呢?我们可以举一个例子。 抽象类是对象的抽象,例如现在有狗狗,小鸟、鱼等动物,我们需要对它每一项进行分析,它们都有的动作为吃、睡,都有的属性为眼睛,有了抽象类,我们就不用一条一条列,(因为继承父类【抽象类】,子类必须实现父类所有的抽象方法)直接可以抽象到动物上,动物有的动作为吃、睡,都有的属性为眼睛,这样每个动物都有了这些原创 2013-04-19 14:31:15 · 361 阅读 · 0 评论 -
为什么抽象类不能实例化?
举个例子:宠物类下面有狗狗类,猫猫类来继承它。一般的情况我们有这两种方法宠物类 a =new 狗狗类();翻译就是。我有一只宠物,这只宠物是狗狗,它叫a狗狗类a=new 狗狗类();我有一只狗狗,它叫a.这个不区别。关键的是,楼主来看下面的代码宠物类 a=new 宠物类();虽然我们经常说,我有一只宠物。(但是请注意,实际上没有一种叫宠物有东西。宠物是个泛泛原创 2013-04-19 14:31:41 · 529 阅读 · 1 评论 -
什么是字点流?什么是处理流?
节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。常用的节点流父 类 InputStream OutputStream Reader Write原创 2013-04-19 14:40:01 · 353 阅读 · 0 评论 -
什么是形参和实参?
直白的讲,形参是形式上的参数,实参是实际的参数; 形参只是对实参的一种抽象类型描述,只是声明一个函数(方法)能接受什么类型的实参,而不确定接受的实参具体内容是多少;实参就是传递给函数(方法)对应形参的具体内容(值),形参的初始值(内容)由实参决定.形参在函数(方法)结束返回后就被释放了.原创 2013-04-19 14:20:49 · 735 阅读 · 0 评论 -
在java中+=是什么意思?
int i = 1; int sum = 0; sum = sum + i; //这个意思 sum += i; //这是简写原创 2013-04-19 14:21:20 · 4582 阅读 · 1 评论 -
i++和++i有什么区别
在编程中i++和++i最终是一样的,不过在循环体中,i++是先取出i,再加1,++i先加后取。原创 2013-04-19 14:21:47 · 325 阅读 · 0 评论 -
当两个类构成继承关系时,子类是否必须重写父类的所有方法?
- 在子类继承父类(父类是个抽象类)的情况下,那么该子类必须要实现父类中所定义的所有抽象方法;否则,该子类需要声明成一个abstractclass。- 一个类实现了某个接口,那么该类必须要实现接口中声明的所有方法。如果该类是个抽象类,那么就无需实现接口中的方法了。 我们可以这样理解。如果一个普通类继承了抽象类和接口,那么必须继承其中的抽象方法。原创 2013-04-19 14:30:36 · 468 阅读 · 0 评论 -
Calendar 日历学习
package com.test;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateTest { public原创 2013-05-21 11:28:37 · 414 阅读 · 0 评论