自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (2)
  • 收藏
  • 关注

转载 Java异常体系结构

一、 异常的概念和Java异常体系结构         异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架, 是Java语言健壮性的一个重要体现。         Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。         在Java API中已经定义了许多异常类,这些异常类分为

2017-05-28 22:12:00 518

转载 java队列Queue方法

Queue是一种很常见的数据结构类型,在java里面Queue是一个接口,它只是定义了一个基本的Queue应该有哪些功能规约。实际上有多个Queue的实现,有的是采用线性表实现,有的基于链表实现。还有的适用于多线程的环境。java中具有Queue功能的类主要有如下几个:AbstractQueue, ArrayBlockingQueue, ConcurrentLinkedQueue, LinkedB

2017-05-28 21:49:52 2232

转载 Java集合中Map接口的使用方法

Map接口           Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;           Map中的键值对以Entry类型的对象实例形式存在;           键(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值。       

2017-05-28 21:32:27 1512

转载 java中set集合的使用方法

1. HashSet        Java.util.HashSet类实现了Java.util.Set接口。它有如下特点:       1.它不允许出现重复元素;       2.不保证集合中元素的顺序       3.允许包含值为null的元素,但最多只能有一个null元素。      下面代码是利用hashSet获取不重复的一组groupId:public sta

2017-05-28 21:18:33 515

转载 java中Stack栈

在Java中Stack类表示后进先出(LIFO)的对象堆栈。栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的。每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下:         Stack通过五个操作对Vector进行扩展,允许将向量视为堆栈。这个五个操作如下:    操作                               

2017-05-28 21:05:26 172

转载 LinkedList基本用法

LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.       LinkedList的构造函数如下             1. public LinkedList():  ——生成空的链表             2. public LinkedList(Collection col):  复制构造函数1. 获取链表的第一个和最后一个元素i

2017-05-28 20:50:59 167

转载 JAVA中ListIterator和Iterator详解与辨析

在使用Java集合的时候,都需要使用Iterator。但是java集合中还有一个迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的时候可以使用。这两种迭代器有什么区别呢?下面我们详细分析。这里有一点需要明确的时候,迭代器指向的位置是元素之前的位置,如下图所示:        这里假设集合List由四个元素List1、List2、Li

2017-05-28 20:33:54 385

转载 java中Iterator迭代器

迭代对于我们搞Java的来说绝对不陌生。我们常常使用JDK提供的迭代接口进行Java集合的迭代。Iterator iterator = list.iterator(); while(iterator.hasNext()){ String string = iterator.next(); //do something}   

2017-05-28 20:15:15 304

转载 Java集合工具类Collections常用方法

import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Enumeration;import java.util.List;public class Test { public static void main(String[] args) {

2017-05-28 17:01:32 298

转载 List集合常用方法

import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { // list中添加,获取,删除元素 List person = new ArrayList<>(); person.add("jackie"); // 索

2017-05-28 16:45:20 506

原创 接口和抽象类的比较

1. 抽象类和接口都不能实例化,但是可以定义抽象类和接口类型的引用。2. 一个类如果继承抽象类或者实现了接口需要实现其中的全部抽象方法,否则该类被声明为抽象类3. 抽象类中可以定义构造器和普通方法,接口则不可以4. 抽象类可以定义普通成员变量,接口中的成员变量默认是public static final修饰的常量5. 抽象类中的成员可以是private、friendly、prote

2017-05-28 15:00:54 161

转载 Java中内部类可以被覆盖吗

如果创建了一个内部类,然后继承其外围类并重新定义此内部类时,会发生什么呢?也就是说,内部类可以被覆盖吗?这看起来似乎是个很有用的思想,但是“覆盖”内部类就好像它是外围类的一个方法,其实并不起什么作用。class Egg { private Yolk y; public Egg() { // TODO Auto-generated constructor stub System.o

2017-05-28 14:41:18 737

转载 内部类的闭包与回调

闭包(Closure)是一种能被调用对象,它保存了创建它的作用域的信息。        Java并不能显式地支持闭包,但对于非静态内部类而言,它不仅记录了其外部类的详细信息,还保留了一个创建非静态内部类对象的引用,并且可以直接调用外部类的private成员,因此可以把非静态内部类当成面向对象领域的闭包。        通过这种仿闭包的非静态内部类,可以很方便地实现回调功能,回调就是某个方法

2017-05-28 13:58:50 264

转载 java内部类学习

内部类定义        可以将一个类的定义放在另一个类的内部定义,这就是内部类。public class OuterClass { private String name ; private int age; //get和set class InnerClass{ public InnerClass(){

2017-05-28 12:53:51 221

转载 java中嵌套接口

接口知识点      1、接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值      2、接口中的方法默认都是 public abstract 类型的:      3、接口默认也是abstract的的:public abstract interface xx ===public interface xx

2017-05-28 12:25:03 1395 1

转载 java实现多重继承

多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要思考的不是怎么使用多重继承,而是您的设计是否存在问题.但有时候我们确实是需要实现多重继承,而且现实生活中也真正地存在这样的情况,比如遗传:我们即继承了父亲的行为和特征也继承了母亲的行为和特征。可幸的

2017-05-28 10:36:08 1148

原创 Java协变返回类型

协变返回类型子类重写父类方法时,返回类型可以是基类的子类实例class Base{ //子类Derive将重写此方法,将返回类型设置为InputStream的子类 public InputStream getInput(){   return System.in; }}public class Derive extends Base{ @Ove

2017-05-28 10:21:08 539

转载 java构造器内部的多态方法

我们知道,动态绑定的调用是在运行时才决定的,对象无法知道到底调用的是哪个类的方法。        当我们在构造器中调用动态绑定的方法,就会用到该方法被覆盖之后的定义。但是这种调用的效果难以预计,因为被覆盖的方法在对象被完全构造之前就会被调用。class Base{ private String name = "base"; Base(){ tellName(); printNa

2017-05-28 09:37:29 312

转载 java中多态的方法调用

1.什么是多态       允许不同类的对象对同一消息做不同的响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。多态使用了一种动态绑定(dynamic binding)技术,指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。多态的使用消除了类型之间的耦合关系。2.多态实现的方式        接口实现,继承父类进行方法重

2017-05-28 08:54:58 1553

原创 深入理解Java中的final关键字

final关键字final是java中的一个关键字,可以声明变量、方法和类,一旦将其声明为final,我们将不能改变这个引用。final变量        用final修饰的变量,意味着该变量是只读的(引用变量是地址不可变,变量的内容可以改变,对基本变量来说,该值不会变,同时类型在算数运算时不会自动提升)。final经常和static关键字一起使用,用作常量。final成员变量必须在声

2017-05-28 08:02:58 299

转载 java的继承和组合

继承和组合是java中非常常用的两种创建新类型的方法,两者都能提高代码的复用率。        继承主要是想让子类继承父类的基本特性;组合技术通常用于想在新类中使用现有类的功能,而非它的接口。两者的分别是"IS A"和"HAS A"的关系继承class Shape { public void draw() { System.out.println("draw a

2017-05-27 22:38:24 231

原创 java中四种访问修饰符

java中有四种访问修饰符,访问权限从高到低依次为public,protected,friendly,private      1)public:跨包访问权限      2)protected:同一包访问权限,对于有继承关系的父子类,子类可以跨包访问父类      3)friendly(默认不写):同一包访问权限      4)private:同一类访问权限

2017-05-27 22:12:47 579

转载 Java 枚举(enum) 常见用法

Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。

2017-05-27 21:53:28 291

转载 深入了解JAVA可变长度的参数(Varargs)

Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。可变参数的特点:(1)只能出现

2017-05-27 20:31:17 1851

转载 java类和对象初始化

类的生命周期类初始化       本阶段负责为类变量赋正确的初始值。(类变量即静态变量)        java编译器把所有的类变量初始化语句和静态初始化器通通收集到clinit方法中,该方法只能被jvm调用,专门承担初始化工作。       初始化一个类必须保证其直接超类已被初始化。       并非所有的类都拥有clinit方法。以下类不会拥有clinit方法:

2017-05-27 19:30:24 252

原创 public staticvoid main(String[]args)函数解析

public staticvoid main(String[]args)为Java程序的入口方法,JVM在运行程序的时候,会首先查找main方法。方法解析1. public是权限修饰符,表明任何类或对象都可以访问这个方法2. static表明main方法是一个静态方法,即方法中的代码是存储在静态存储区的,只要类被加载后,就可以使用该方法而不需要通过实例化对象来访问,可以直接通过

2017-05-25 22:05:04 1451

原创 java基本类型重载

1. 重载java允许在一个类中,多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载2. 基本类型重载基本类型能从一个较小的类型自动提升至一个较大的类型,此过程涉及重载时,可能会造成一些混淆。3. 代码示例public class Test { /** * 测试涉及基本类型的重载 */ public

2017-05-25 21:49:24 1981

原创 switch的表达式考察

问题:switch的表达式是否可以为long?是否可以为string?讨论:1. 在java5以前,switch(expr)中,expr只能是byte、char、short、int2. 从java5开始,java中引入了枚举类型,expr也可以是enum类型3. 从java7开始,expr还可以是字符串String,但是长整形long在目前所有的版本都是不可以的。

2017-05-25 20:53:44 293

原创 java中两种跳出指定循环的方法

1.定义标号方法lable:for(int i = 0; i < 5; i++){ for(int j = 0; j<5; j++){ if(j ==4 && i == 3){ break label; } }}2.循环条件表达式方法boolean isReturn = false;for

2017-05-25 20:50:32 3016

转载 在构造器中为什么this或super必须放在第一行?

this()和super()是你如果想用传入当前构造器中的参数或者构造器中的数据调用其他构造器或者控制父类构造器时使用的;在一个构造器中你只能使用this()或者super()之中的一个,而且调用的位置只能在构造器的第一行;在子类中如果你希望调用父类的构造器来初始化父类的部分,那就用合适的参数来调用super(),如果你用没有参数的super()来调用父类的构造器(同时也没有使用thi

2017-05-25 15:40:47 6772 4

原创 java中关键字this和super比较

1)super(参数):调用基类中某一构造函数(应该为构造函数第一条语句)      this(参数):调用本类中某一构造函数(应该为构造函数第一条语句)2)super:引用当前对象的直接父类中的成员(super.变量名或super.函数)      this:代表当前对象,调用当前对象的成员(this.变量名或this.函数)3)super和this均显示或者默认在构造函数第一行

2017-05-25 15:37:03 336

转载 Java中 = 和 += 的区别

问题1) short s1 = 1; s1 = s1+1;有什么错?2) short s1 = 1; s1 += 1;有错吗?讨论1)+:在编译器将右边的表达式结果计算出来后,和左边的变量类型比较精度,如果左边的变量精度低于右边的结果的精度,编译器会显式的报错,告诉程序员去强制转型。(所以s1 = s1 + 1出错)最后将表达式的结果复制到变量所在的内存区。2)+=:编

2017-05-25 15:16:36 13943 4

原创 运算符&和&&以及|和||区别比较

1.&和&&的区别1)&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则只要一方为false,则结果为false。2)&&运算符还具有短路功能,如果&&左边的表达式值为false,右边的表达式会被短路掉,不会参与运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串

2017-05-25 15:01:13 1496

原创 运算符优先级

运算符的优先级优先次序运算符优先次序运算符1.   []   ()9&2++     --      !      ~      instanceof10^3new11|4*     /     %12&&5+     -13||6

2017-05-25 14:57:39 388

原创 java类和成员修饰符

java类和成员修饰符修饰符可修饰对象含义public类接口成员变量、成员方法可以跨包访问private成员变量、成员方法类内可访问protected成员变量、成员方法包内可访问,在子类中可跨包访问继承父类friendly类接口成员变量、成员方法同一包中访问sta

2017-05-25 11:15:28 314

原创 java中的重写和重载

1.重写与重载概念重写:重写指的是在java的子类与父类中有两个名称、参数列表都相同的方法的情况重载:重载指的是同一个类中的方法有相同的名称,但是参数列表不同的情况。2.重写与重载的对比1)重载是编译期概念,遵循编译期绑定,被称为静态多态;      重写是运行期概念,遵循运行期绑定,被称为动态多态2)重载发生在同一个类中,方法同名有不同的参数列表(参数类型、参数个数),对

2017-05-24 21:50:29 252

原创 java高精度数字

1.两种高精度类型BigInteger表示大整数BigDecimal表示大精度浮点数2.BigInteger初始化BigInteger big = new BigInteger("12");BigInteger big2 = BigInteger.valueOf(100);...运算big.add(big2);//加big.subtract(big2);//

2017-05-24 19:59:51 205

原创 java基本类型转换

1. boolean类型转换布尔类型boolean占有一个字节,它不与其他7种基本类型一样可以进行类型转换,否则编译出错2.类型自动提升基本类型在进行计算时,会根据一下规则自动进行类型提升如图所示,byte和char,char和short之间不能自动转换byte,char和short计算时自动转换为int类型,转换优先级关系如下char,byte,short->in

2017-05-24 16:35:03 219

原创 java十进制和二进制转换方法

1.取余法public static void TenToBinary(int num){ int r = num%2;//余数 if(num >=2){ TenToBinary(num/2); } System.out.print(r);}2.java内置函数Integer.toBinaryString();

2017-05-23 21:59:21 1033 1

原创 java数据类型

1.数据类型分类基本数据类型和引用数据类型2.基本数据类型(8种)整数型:byte、short、int、long浮点型:float、double字符型:char布尔型:boolean3.基本数据类型默认值byte:0short:0int:0long:0Lfloat:0.0fdouble:0.0dchar:‘\u0000’boolean

2017-05-23 21:29:00 210

sqlserver 2008安装图解

安装图解详细,一看就懂。相信你会有很好的收获

2014-07-09

C-Free5带有注册码

强大的c编写工具,带有注册码,编写比vs6.0++更加方便

2014-07-09

空空如也

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

TA关注的人

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