自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 String、StringBuffer和StringBuilder类

字符串是一连串的字符序列,Java提供了String和StringBuffer两个类来封装字符串,并提供了系列方法来操作字符串String类是不可变类,即一旦一个String对象呗创建以后,包含在这个对象的字符串序列是不可改变的,直至这个对象销毁。StringBuffer对象则代表一个字符串序列可变的字符串,当一个StringBuffer被创建以后,通过StringBuffer提供的

2015-11-29 13:01:26 406

原创 java中的堆、栈和常量池

说到java中堆、栈和常量池,首先还是看看他们各自存放的数据类型吧!堆:存放所有new出来的对象;栈:存放基本类型的变量数据和对象的引用,对象(new出来的对象)本身并不存在栈中,而是存放在堆中或者常量池中(字符串常量对象存放在常量池中);常量池:存放基本类型常量和字符串常量。对于栈和常量池中的对象可以共享,对于堆中的对象不可以共享。栈中的数据大小和生命周期是可以确定的,当没有引用指向数据

2015-11-29 13:00:50 531

原创 系统相关

Java程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定功能。Java提供了System类和Runtime类来与程序的平台进行交互。System类System类代表当前Java程序的运行平台,程序不能创建System类的对象,所以它提供了一些类属性和类方法,运行直接通过System类名来调用这些属性和方法。1、通过System类的get

2015-11-29 13:00:18 347

原创 泛型入门

Java集合有个特点:当我们把一个对象“丢进”集合里后,集合就会“忘记”这个对象的数据类型,当再次取出该对象时,该对象的编译类型就变成了Obejct类型(其运行时类型没变)。Java集合之所以设计成这样,是因为设计集合的程序员不会知道我们需要它来保存什么类型的对象,所以他们把集合设计成能保存任何类型的对象,只要求具有很好的通用性,但这样做也带来了两个问题:== 集合对元素类型没有任

2015-11-29 12:59:35 284

原创 操作集合的工具类:Collections

Java提供了操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象设置为不可变、对集合对象实现同步控制等方法。 排序操作Collections提供了如下几个方法用于对List集合元素进行排序:== static void reverse(List list):反转指定List集合

2015-11-29 12:58:54 402

原创 Map

Map用于保存具有映射关系的数据,因此Map集合里保存这两组值,一组用于保存Map里的key,另一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。key和value之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确定的value。如果把Ma

2015-11-29 12:58:06 351

原创 Queue接口

Queue用于模拟队列这种数据结构,队列通常是指“先进先出”的容器。队列的头部保存在队列中时间最长的元素,队列的尾部 保存在队列中时间最短的元素。新元素插入到队列的尾部,访问元素操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。Queue接口中定义了如下操作方法:== void add(Object e):将指定元素加入此队列的尾部。== Object eleme

2015-11-29 12:57:18 2164

原创 List接口

List集合代表一个有序集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。与Set只提供了一个iterator()方法不同,List还额外提供了一个listIterator()方法,该方法返回一个ListIterator对象,ListIterator接口继承了Iterator接口,提供了专门操作List的方法,ListIter

2015-11-29 12:56:32 479

原创 Set集合

前面已经介绍了Set集合类似于一个罐子,一旦对象丢进Set集合,集合里多个对象之间没有明显的顺序。Set集合与Collection基本完全一样,没有提供任何额外的方法。Set集合不允许包含相同的元素,如果试图把两个相同元素加入到同一个Set集合中,则添加失败,add方法返回false,且新元素不会被加入。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,

2015-11-29 12:55:42 11655

原创 Collection、Iterator接口、foreach循环

Collection接口时List、Set和Queue接口的父接口,该接口里定义的方法既可以用于操作Set集合,也可以用于操作List和Queue集合下面程序示范了如何操作Collection集合里的元素[java] view plaincopypackage package1;    import java.util.A

2015-11-29 12:54:44 386

原创 Java集合概述

集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量);而集合只能保存对象(实际上也是对象的引用变量,但习惯上认为集合里保存的是对象)。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。如下图是Collection接口和子接口及其

2015-11-29 12:53:39 424

原创 抽象类和接口

当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么该方法都有具体的方法体。但在某些情况下,某个父类只是知道了其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法,例如定义了一个Shape类,这个类应该提供一个计算周长的方法calPerimeter(),但不同Shape子类对周长的计算方法是不一样的,即Shape类方法无法准确知道其子类计算周长的方

2015-11-29 12:53:00 310

原创 final修饰符

final 变量final修饰变量时,表示该变量一旦获得了初始值之后就不可被改变,final既可修饰成员变量(包括类变量和实例变量),也可以修饰局部变量、形参。严格的说final修饰的变量不可被改变,一旦获得初始值之后,该final变量的值就不能被重新赋值。因为final变量获得初始值之后不能被重新赋值,因此final修饰成员变量和修饰局部变量时有一定的不同。f

2015-11-29 12:52:17 374

原创 初始化块

Java使用构造器对单个对象进行初始化操作,使用构造器先把整个Java对象的状态初始化完后才能,然后将Java对象返回给程序,从而让该Java对象的信息更加完整。与构造器作用非常类似的是初始化块,它也可以对Java对象进行初始化操作。初始化块是Java类里可出现的第四种成员(前面依次有属性、方法和构造器),一个类里面可以有多个初始化块,相同类型的初始化块之间有顺序;前面定义的初始化

2015-11-29 12:51:39 383

原创 多态

Java引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态。先看下面的程序:[java] view plaincopypublic class BaseClass {                 public

2015-11-29 12:50:58 232

原创 类的继承

1、继承的特点Java的继承通过extends关键字来实现,Java的继承具有单继承的特点,每个子类只有一个直接父类。子类继承父类,将可以获得父类的全部属性和方法。值得指出的是:java的子类不能获得父类的构造器。下面程序示范了子类继承父类的特点,下面是Fruit类的代码:[java] view plaincopypubl

2015-11-29 12:50:17 397

原创 构造器

构造器是一个特殊的方法,这个方法用于创建类的实例。Java语言里构造器是创建对象的重要途径。构造器最大的用处就是在创建对象时执行初始化。当创建一个对象的时候,系统为这个对象默认进行初始化。这种默认初始化把所有的属性设为0(对数值类型)或false(boolean类型),把所有的引用类型属性设置为null。下面是一个Demo:[java] view

2015-11-29 12:49:08 342

原创 隐藏和封装

我们有时候会见到一些程序代码通过某个对象直接访问其属性的情形,这可能引起一些潜在的问题:如将某个Person的age属性直接设为100,这在语法上没有任何问题,但显然违背了现实。因此,Java程序推荐将类和对象的属性进行封装。封装是面向对象三大特征之一(另外两个是继承和多态),它指的是将对象的现状信息封装在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现

2015-11-29 12:48:34 1003

原创 成员变量和局部变量

在Java语言中,根据定义变量位置的不同,可以讲变量分为2大类:成员变量和局部变量。成员变量和局部变量运行机制存在较大差异。1.1成员变量和局部变量成语变量指的是在类范围里定义的变量,也就是前面所说的属性;局部变量指的是在一个方法内定义的变量。成员变量分为:实例属性(不以static修饰),类属性(以static修饰)。局部变量分为:形参(方法签名中定义的变量),方法局部变

2015-11-29 12:47:12 391

原创 类和对象

Java支持面向对象的三大特征:封装、继承、多态,java提供了private、protect、public三个访问控制修饰符来实现良好的封装,提供了extends关键字来让子类继承父类,子类继承父类将可以继承到父类的属性和方法,如果访问控制允许,子类实例可以直接调用父类定义的方法。继承是实现类复用的重要手段,除此之外,也可以通过组合关系来实现这种复用,从某种程度上来看,继承和组合具有

2015-11-29 12:45:11 278

原创 Java垃圾回收机制

1. 垃圾回收的意义    在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,

2015-11-17 22:52:25 229

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除