JAVA
djfengqiang
这个作者很懒,什么都没留下…
展开
-
Java笔记有始无终
`Java开发环境安装JDK执行需要安装JRE`Java有3个版本1.Java ME(micro edition)用于小型移动设备,嵌入式2.Java SE(standard edition)是JAVA ME和JAVA EE的基础,必须先学习JAVA SE3.Java EE(enterprise edition)JAVA企业版,用于B/S架构Java是sun公司研发的产品2原创 2012-01-04 20:01:05 · 331 阅读 · 0 评论 -
Java的HashCode
·HashCode就是根据对象存储在内存的地址计算出的一个值。这个值可以标识这个对象的位置。也可以对比两个引用变量是否指向同一个对象。·String重写了hashCode方法——改为根据字符序列计算hashCode值,所以String通过String new("String")方式创建的两个相同字符串内容的对象他们的hashcode相同。·要想获取正确的hashcode,需要使用Sys原创 2013-09-06 16:03:01 · 672 阅读 · 0 评论 -
抽象类与抽象方法
l 抽象类和抽象方法抽象类和抽象方法:使用abstract关键字修饰的类和方法就成了抽象类和抽象方法,格式与普通类和方法类似。 抽象类的特性:·有抽象类就要有继承的子类去实现抽象类中方法。·抽象类中可以定义普通类中定义的所有成员,并且只有在抽象类中才能定义抽象方法。·抽象类中不能new对象,抽象类中的对象是给子类调用的。·在抽象类中定义的方法,在其普通子类中必须实现所原创 2013-08-26 11:43:11 · 880 阅读 · 0 评论 -
冒泡排序
冒牌排序冒泡排序原理: 用第1个数对比第2个数,判断如果第一个数大于第二数,则把第一个数与第二个数交换位置,否则保持不变。然后再一轮判断第2个数与第3个数,如果第二数大于第三个数则把他们交换位置,否则保持不变。依次类推到最后一个数。折腾的第一次将把最大的数排到了最后去,折腾第二次则把第二大的数排到了最大数的前面。如果一共只有3个数,那么折腾2回就排序好了。 我想之所以叫冒泡原创 2013-09-10 15:30:31 · 622 阅读 · 0 评论 -
接口
定义:接口比抽象类更抽象。接口是是一种规范,定义了某些类需要遵守的规范。接口不提供实现。接口是与类同等级的,把接口视为特殊的类,把定义类时的class关键字改成interface就是接口了。接口是规范与实现分离的设计哲学。 语法:[public] interface 接口名 extends 父接口1,父接口2…{ 语句;} ·定义接口的修饰符只能是public原创 2013-09-02 16:29:03 · 626 阅读 · 0 评论 -
Java数组学习
数组: ·数组有两种初始化方式: 1、静态初始化(指定值):指定数组的值,指定N个值长度就是N。·格式: “数组类型[] 引用变量 = {值1,值2,值N}” 或者 “数组类型[] 引用变量 = new 数组类型[]{值1,值2,值N }” 2、动态初始化(指定长度):指定数组的长度,指定N个长度就可以定义N个数组元素。·格式:数组类型[] 引用变量原创 2013-08-09 14:54:57 · 668 阅读 · 0 评论 -
包装类,自动装箱和自动拆箱
概念:包装类就是把基本类型的数据类型转换成这一类的类型的数据(就不是普通类型了,是类的类型,比如Animal类型),这中类型的数据是引用类型的。 ·基本类型与包装类对应表: 基本数据类型 包装类型byte Byteshort Shortint Integerlong Lon原创 2013-08-20 15:42:22 · 563 阅读 · 0 评论 -
java方法签名
方法的名字和参数列表称为方法的签名原创 2013-11-19 22:15:58 · 758 阅读 · 0 评论 -
Java继承
l 类的继承·继承使用extends关键字。跟创建一个类一样,只是多了”extends 父类名字” 关键字。可以把extends按原意翻译就是扩展,子类除了继承父类的“方法”与“属性”还可以自己扩展自己的特性。·父类也被称为基类或超类。·语法:修饰符 class 子类名 extends 父类名字{ //类中的语句} 继承(extends)特点:原创 2013-08-13 17:37:17 · 596 阅读 · 0 评论 -
java动态绑定与静态绑定
静态绑定:编译器可以确定的。privaate方法、static方法、final方法都是静态绑定的。动态绑定:运行期确定的。对象方法就是动态绑定的。静态绑定例子:class B{ private void bp() {} public static void b() { System.out.println("b"); }}public class A ex原创 2013-11-19 23:16:33 · 916 阅读 · 0 评论 -
Java方法重写与方法重载
方法重载:发生在同一个类中,方法名相同方法形参列表不同就会重载方法。方法重写:发生在继承当中,如果子的一个类方法与父类中的那个方法一模一样(方法名和形参列表一样),那么子类就会重写父类的方法。方法重写与方法重载的关系:他们不是亲戚,他们没有关系。就是都有方法2个字而已。原创 2013-08-14 13:50:01 · 569 阅读 · 0 评论 -
Java Set集合
第八章 集合·集合简介:集合是一个类,集合大致可分为3中体系set(无序,不可重复的集合)、List(有序,重复的集合)、map(映射关系的集合)、Java5后加入Queue(队列集合)。集合中保存的数据是对象(其实平常所以的对象多指对象的引用)。 ·集合概念:集合跟数组类似。区别是数组元素可存储基本类型和对象类型,而集合中存储的值只能是对象(其实都是对象的引用变量),数组中存储的原创 2013-11-20 22:54:28 · 1262 阅读 · 0 评论 -
Java List集合
·List列表·list: list代表有序集合,每个元素都有对应的索引,所以List集合中的元素可以重复。 ·list当然也用于collection中的所有方法,并且自己也有添加了额外的方法,所有List实现类都可以调用这些方法来操作元素。List集合可以根据索引来操作元素。 a) : void add(int index, Object element) 将element插原创 2013-11-20 22:57:23 · 976 阅读 · 0 评论 -
Java Map集合
·MAP 映射·map是一个一个的 keyàvalue对 ·map的keySet()方法返回Map集合中的所有Key,这些返回key的类型是Set集合,所以key是不能重复的。value是Collection所以值能重复,MAP是通过Key找到value的,所以map中着重围绕key来讲。 ·HashMap底层也维护一个数组,当我们向HashMap中放置对象时实际上是放到了该数原创 2013-11-20 23:01:10 · 1045 阅读 · 0 评论 -
Java中this与super,构造器执行顺序
l 对象的this引用作用: this关键字就是让类中一个方法,访问该类中的另一个方法或属性。 1、构造器中引用该构造器正在初始化的对象。 2、在方法中引用调用该方法的对象(哪个对象调用的方法,this就代表那个对象)。this在一个方法中使用this.方法,this作用就是引用该类中另一个方法中的对象(对象通常在main方法中)。this也可以省略原创 2013-08-14 12:35:11 · 1001 阅读 · 1 评论 -
Java异常
·为什么会有异常机制:a) 异常处理机制可以让产生异常的语句抛出异常,然后处理异常,并且程序接着往下执行不需要中断执行。b) 有时候无法穷举所有异常情况,就用异常机制。 ·Java异常被分为runtime异常,和checked异常。只要不是继承RuntimeException类的类型异常都属于Checked异常。 ·异常处理机制:a): 当某条语句有异常时候会抛出一个E原创 2013-11-14 14:59:20 · 735 阅读 · 0 评论 -
枚举类
枚举类 概念: 枚举类型:可以把有固定格式的一些数据定义为枚举类型,它的数量是有限并且固定的。比如一周有7天,一年有4个季节一样,一个小时有60分钟等,都是有限的并且固定的数据。比如一周有七天,分别是Sunday、Monday、Tuesday、Wednesday、Thursday、Friday和Saturday。如果我们可以用整数0、1、2、3、4、5、6来表示这七天,那么多下原创 2013-09-06 11:56:59 · 898 阅读 · 0 评论 -
Java内部类
·内部类概念: ·内部类:将一个类定义在另一个的里面,这个类就叫内部类。外面的类叫外部类。内部类跟类里面的方法,构造器等地位相同,都属于外部那个类的成员。特点:·内部类能访问外部类的私有数据。就跟本类的方法中调用本类中的私有属性是一样的,因为内部类也是外部类的成员他们是一体的所以自己能访问自己的数据。·外部也能访问内部类的数据,但是外部类不能直接访问内部类中的数据,需要在外部类原创 2013-09-02 16:58:56 · 716 阅读 · 0 评论 -
==与equals
·比较运算符 == 与 String的equals 和 Object的 equals① ==与Object的equals是一样的,对于基本类型数据如果2个量值相等则为true,如果是引用类型则指向同一个对象才相等。② String的equals 是比较2个字符串只要一样即相等,不管是不是指向同一个对象。 例子:==与equalspublic class EqualTest原创 2013-08-20 17:54:49 · 538 阅读 · 0 评论 -
toString方法
·toString方法 toString方法:是属于Object的方法,因此所有类都具有该方法。打印一个对象时候默认就会调用对象.toString()方法,返回的值是“类名@hashcode”,可以重写这个方法来返回想要的结果。class A{ private String color; private double weight; public A(String c,原创 2013-08-20 15:44:00 · 401 阅读 · 0 评论 -
常量池
常量池:用于管理在编译器被确定并报错在已编译的.CLASS的文件中的一些数据。包括常量与String常量。存在常量池中的数据是唯一的,所以2个相同的字符串常量都是常量池中的同一个常量,他们是== 相等的。public class StringCom{ public static void main(String[] args) { String s1 = "ok"; St原创 2013-08-20 17:55:50 · 522 阅读 · 0 评论 -
单例类
·单例类 单实例类,就是这个类只能创建一个对象。 例子:单实例类class Singleton{ private static Singleton instance; //使用static修饰,因为它要在该类的静态方法中被访问,作用 //是一个引用变量指向对象。 private Singleton(){}; //提供一个私有的构造器,使用方法来控制它创建对原创 2013-08-21 14:30:52 · 557 阅读 · 0 评论 -
Java栈与堆
学习资料来自某Java书籍 当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈区内存里,当方法执行结束时,这个方法的内存栈区也同时消失(销毁)。因此,所有在方法中定义的局部变量都是放在“栈”内存中的;当创建一个对象的时候,这个对象是放到“堆”内存中的,在对内存中的东西只要有引用变量指向它,它就不会消失。当没有引用变量指向这个对象的时候,那么它将原创 2013-08-09 15:11:52 · 403 阅读 · 0 评论 -
final属性方法与类
l final修饰符 final成员变量: final可以修饰类,方法和属性。final修饰成员变量时表示该属性只能被赋值一次(类似shell中的只读变量)。Java语法规定:final修饰的成员变量必须显示的指定初始值,要么在静态代码块或者类中为类属性赋值,要么在初始化块中或者在构造器中为对象属性赋值,亦或者在声明时候赋值。但是不能在普通方法中为final修饰的成员变量赋值。原创 2013-08-21 19:56:53 · 936 阅读 · 0 评论 -
Java方法详解
方法详解:•Java中的“方法”类似其他编程语言中的“函数”。Java中方法不能独立存在,必须定义在类中。逻辑上要么属于“类”要么属于“对象”。如果方法使用了“static”修饰那么这个方法就属于类,否则就属于这个类的对象。•执行方法: 方法不能独立执行,必须使用“类”或“对象”去调用它,它才能执行。使用static修饰的类方法既可以使用类来调用也可以使用对象来调用,不带static的普通方法只能原创 2013-08-12 15:51:33 · 83 阅读 · 0 评论 -
Java定义类,方法,属性,构造器
·类可被认为是一种自定义的数据类型,当然可以使用类来定义变量了,使用类定义的变量都是“引用变量”。所有类,都是引用数据类型。 ·访问修饰符3个: public private protected ·定义类 类中最常见的成员:构造器、方法和Field(也叫“属性”,“成员变量”),三种成员都可以定义0个或原创 2013-08-12 15:43:36 · 1500 阅读 · 0 评论 -
Java成员变量与局部变量
l 成员变量和局部变量成员变量:在类范围内的属性就是成员变量。在类这个范围内(不包含方法和其他成员)带有static修饰的属性就是类的属性,不带static修饰的属性就是对象(实例)属性。类属性与类共存亡,对象属性与对象共存亡,当类销毁时类属性才会消失,当对象消失时,对象属性才消失。 局部变量:方法中的形式参数、在方法中的变量、代码块局部变量都是局部变量。局部变量是在执行方法时生效,原创 2013-08-13 13:56:39 · 977 阅读 · 0 评论 -
Java包与import
l 包,import和import static·包在磁盘上就是存放Java编译过的class文件的一个目录。该目录下还有一级目录存放Java编译过的文可视为子包,但实际上子包跟上一级所谓的父包没有什么关系。·package只能放在Java文件的第一条语句,一个文件中只能包含1条pakage语句,因为一个源代码文件只能包含在一个包中。·import只能放在package下面,clas原创 2013-08-13 15:34:14 · 473 阅读 · 0 评论 -
Java封装
l 隐藏和封装理解封装: 封装(encapsulation)是面向对象三大基本特征之一(另2个继承、多态),封装指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作。 封装实现以下目的:·隐藏类的实现细节·让使用者只能通过事先定义好的方法来访问数据,这样就可以在方法中加入控制逻辑,限制对属性的不合理访问原创 2013-08-13 15:37:52 · 441 阅读 · 0 评论 -
Java构造器,构造器重载
构造器一些基础语法见前面的笔记l 构造器:作用: 当创建一个对象的时候系统会初始化对象属性,如果没有给对象属性赋值那么它就是默认值,构造器的作用就是初始化(就是赋值)这个对象属性的值,这就是的构造器作用。 构造器主要用于被其他方法调用,用以返回该类的实例,因而通常把构造器设置成public访问权限,从而允许系统中任何位置的类来创建该类的对象。除非不想让其他类创建原创 2013-08-13 15:55:05 · 508 阅读 · 0 评论 -
Java方法详解
方法详解:·Java中的“方法”类似其他编程语言中的“函数”。Java中方法不能独立存在,必须定义在类中。逻辑上要么属于“类”要么属于“对象”。如果方法使用了“static”修饰那么这个方法就属于类,否则就属于这个类的对象。 ·执行方法: 方法不能独立执行,必须使用“类”或“对象”去调用它,它才能执行。使用static修饰的类方法既可以使用类来调用也可以使用对象来调用,不带sta原创 2013-08-12 15:52:05 · 433 阅读 · 0 评论 -
Java强制类型转换
语法:使用小括号意思就是强制类型转换类型a 变量a = (类型a)变量b; 将变量b的值,强制转换为类型a,并且赋值给变量a注意地方:就是只能在相似类型数据之间转换,比如double类型数据转换为int类型a)基本类型转换只能在数字类型进行,数字类型有:整数型、字符型、浮点型。数值类型不能和boolean类型进行转换,他们就不是相似的数据。b)引用类型转换只能在有继原创 2013-08-14 17:35:07 · 735 阅读 · 0 评论 -
Java多态
多态: 父类型的引用变量指向子类型的对象,与父类型的引用变量指向父类的对象,调用名字相同的方法时(子类与父类中的方法名相同)但这个引用变量的类型都一样都是父类型的,得到的结果不一样就是多态(得到了多种状态的结果)。声明变量是编译时确定下来的,初始化变量的值是运行时确定下来的,也可以说编译时与运行时类型不一致,就可能导致多态。 ·当父类引用指向子类对象后,对象.属性 或者 对象.方法原创 2013-08-15 13:35:44 · 645 阅读 · 0 评论 -
继承权限
父类(接口等),子类继承重写父类方法时访问控制权限只能大于等于父类(接口等)的权限。如果父类修饰方法的权限是默认权限,那么继承过来在子类中重写父类的方法时的访问控制权限要么也是默认要么比默认大的public,不能是private。原创 2013-08-26 17:46:54 · 562 阅读 · 0 评论 -
Java笔记暂且停止更新
Java的一本大厚书基本学完了!还有一些笔记没有来得及上传到博客,现在可能要停止学习Java了,看到博客居然有7867次访问有点小感动。 博主一直在做运维工作,由于公司最近有变动不得已停止Java的学习,继续复习学习运维知识。待有空将我的运维笔记也发来吧!ps:绝对比Java笔记多N多倍。原创 2014-03-13 11:17:44 · 430 阅读 · 0 评论