嗅谱网

技术分享

  • Java常见疑难问题-类11

    Java常见疑难问题-类11

    39. 重写、隐藏、重载、遮蔽、遮掩重写:一个实例方法可以重写在其超类中可访问到的具有相同签名的所有实例方法,从而能动态分派,换句话说,VM将基于实例的运行期类型来选择要调用的重写方法。重写是面向对象编程技术的基础。public class P{public void f(){}}class S extends P{public void f(){}//重写} 重写时异常要求:? 如果父类方法抛出的是捕获型异常,则子类也只能抛出同类的捕获型异常或其子类,或不抛出。? 父类抛出捕获型异常,子类却抛出运行时异常,这是可以,因为抛出运行时就相当于没有抛出任何异常。? 如果父类抛出的是非捕获型异常,则 ...

    查看全文

  • Java常见疑难问题-类12

    Java常见疑难问题-类12

    40. 构造器中静态常量的引用问题class T {// 先于静态常量t初始化,固可以在构造器中正常使用private static final int y = getY();/** 严格按照静态常量声明的先后顺来初始化:即t初始* 化完后,才初始化后面的静态常量j,所以构造器中* 引用后面的静态常量j时,会是0,即内存清零时的值*/public static final T t = new T();// 后于静态常量t初始化,不能在构造器中正常使用private static final int j = getJ();private final int i; static int getY( ...

    查看全文

  • Java常见疑难问题-类13

    Java常见疑难问题-类13

    41. instanceof与转型System.out.println(null instanceof String);//falseSystem.out.println(new Object() instanceof String);//false//编译能通过System.out.println((Object) new Date() instanceof String);//false//!!程序不具有实际意义,但编译时不能通过//!!System.out.println(new Date() instanceof String);//!!运行时抛ClassCastException,这 ...

    查看全文

  • Java常见疑难问题-类14

    Java常见疑难问题-类14

    44. 请使用引用类型调用静态方法public class Null {public static void greet() {System.out.println(“Hello world!”);} public static void main(String[] args) {((Null) null).greet();}}上面程序运行时不会打印NullPointerException异常,而是输出”Hello world!”,关键原因是:调用静态方法时将忽略前面的调用对象或表达示,只与对象或表达式计算结果的类型有关。 在调用静态方法时,一定 ...

    查看全文

  • Java常见疑难问题-应用15

    Java常见疑难问题-应用15

    47. 不可变的引用类型BigInteger total = BigInteger.ZERO;total.add(new BigInteger(“1”));total.add(new BigInteger(“10”));System.out.println(total);//0上面程序的结果为11吗?答案是0。 BigInteger实例是不可变的。String、BigDecimal以及包装类型:Integer、Long、Short、Byte、Character、Boolean、Float和Double也是如此。对这些类型的操作将返回新的实例。 不 ...

    查看全文

  • Java常见疑难问题-应用16

    Java常见疑难问题-应用16

    51. 静态导入的优先权import static java.util.Arrays.toString;import java.util.Arrays;public class T {public static void main(String[] args) {prt(1, 2, 3);}static void prt(Object… args) {// 自身继承至Object类的toString的优先级高于静态导入的方法//!! System.out.println(toString(args));//不能编译System.out.println(Arrays.toString ...

    查看全文

  • Java常见疑难问题-应用17

    Java常见疑难问题-应用17

    55. thread. isInterrupted()与Thread.interrupted()public class SelfInerruption {public static void main(String[] args) {Thread.currentThread().interrupt();if (Thread.interrupted()) {// Interruped:falseSystem.out.println(“Interruped:” + Thread.interrupted());} else {System.out.println(̶ ...

    查看全文

  • Java常见疑难问题-应用18

    Java常见疑难问题-应用18

    58. Hash集合序列化问题class Super implements Serializable{// HashSet要放置在父类中会百分百机率出现// 放置到子类中就不一定会出现问题了final Set set = new HashSet();}class Sub extends Super {private int id;public Sub(int id) {this.id = id;set.add(this);}public int hashCode() {return id;}public boolean equals(Object o) {return (o instanceo ...

    查看全文

  • Java常见疑难问题-应用19

    Java常见疑难问题-应用19

    60. 编译期常量表达式第一个PrintWords代表客户端,第二个Words代表一个类库:class PrintWords {public static void main(String[] args) {System.out//引用常量变量.println(Words.FIRST + ” “+ Words.SECOND + ” “+ Words.THIRD);}}class Words {// 常量变量public static final String FIRST = “the”;// 非常量变量public sta ...

    查看全文

  • java 疑难问题解析-数值表达式1

    java 疑难问题解析-数值表达式1

    1. 奇偶判断 不要使用 i % 2 == 1 来判断是否是奇数,因为i为负奇数时不成立,请使用 i % 2 != 0 来判 断是否是奇数,或使用高效式 (i & 1) != 0来判断。 2. 小数精确计算 System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是 0.9,而是一连串的小数。问题在于1.1这个数字不能被精确表示 为一个double,因此它被表示为最接近它的double值,该程序从2中减去的就是这个值, 但这个计算的结果并不是最接近0.9的double值。 一般地说,问题在于并不是所有的小数都可以用二 ...

    查看全文

  • javabean持久化的原理与应用举例

    javabean持久化的原理与应用举例

    javabean持久化是指以流的形式,用javaBean的属性来保存bean,并在以后在本地读取或从其他JVM中读取他保存的属性信息; 这和对象序列化类似,但区别是:JavaBean持久化适合于长期存储,而对象序列化只是短期的存储,会随着类程序版本的升级而过时; 对象序列化后,他的实例域都写入一个流中,如果类的实现更新了,并且他的实例域也更新了,这样就不能通过反射机制直接读取包含了过时版本的序列化对象数据,此时技术上可以实现新旧数据的同步但非常麻烦,只有在无路可走的时候才使用此方法,所以说,对象序列化不适合长期存储,典型的实例: javax下的swing组件在其文档中都有类似的警告:‘ ...

    查看全文

  • 初识web架构mvc之struts框架

    初识web架构mvc之struts框架

    Struts框架: Jsp—>Servlet—>DAO—>Servlet—>Jsp;    |               |重复 重复// Struts框架解决:重复和不便维护的地方:DAO的重复部分!1.Jsp中显示传递的数据时使用 显示,并且要穿插HTML代码;2.Servlet中接收参数和跳转路径的设置,会带来后期维护的问题;以上是Struts框架要解决的问题;Stru ...

    查看全文