String,StringBuffer与StringBuilder的区别

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字... …… 阅读全文

String转换成Integer源码分析

我们经常为用到Integer.valueOf(String str)这个方法,如果字符串格式不对,这个方法会抛出一个系统异常NumberFormatException这里我们就要分析一下这个方法,其中Byte,Short也是调用了Ingeter中的方法.在Integer类中的定义如下:public static Integer valueOf(String s) throws NumberForm... …… 阅读全文

幕后英雄的用武之地——浅谈Java内部类的四个应用场景

幕后英雄的用武之地 ——浅谈Java内部类的四个应用场景Java内部类是Java言语的一个很重要的概念,《Java编程思想》花了很大的篇幅来讲述这个概念。但是我们在实践中很少用到它,虽然我们在很多时候会被动的使用到它,但它仍然像一个幕后英雄一样,不为我们所知,不为我们所用。本文不试图来... …… 阅读全文

抽象类(abstract class)和接口(Interface)的区别

前言抽象类(abstract class)和接口(Interface)是Java语言中对于抽象类定义进行支持的两种机制,赋予了Java强大的面向对象能力。二者具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和Interface的选择显得比较随意。其实,两者之间还是有很大的区别的。本文将对它们之间的区别进行剖析,并提供一个在二者之间进行选择的依据。抽... …… 阅读全文

abstract class和interface的使用场景分别是什么?

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很... …… 阅读全文

Java千百问_05面向对象(006)_is-a,has-a,like-a是什么

1、is-a,has-a,like-a是什么在面向对象设计的领域里,有若干种设计思路,主要有例如以下三种:is-a、has-a、like-ajava中在类、接口、抽象类中有非常多体现。了解java看这里:什么是Java了解类和对象看这里:类、对象究竟有什么秘密了解接口和抽象类看这里:接口和抽象类有什么差别2、is-a是什么is-a。顾名思义,是一个。代表继承关系。假设A is-a B,那么... …… 阅读全文