Java
文章平均质量分 56
GongchuangSu
这个作者很懒,什么都没留下…
展开
-
Java学习笔记之String、StringBuffer和StringBuilder
更多博文可参考我的个人博客:贱贱的梦想 基本概念String:此类代表字符串常量,它们的值在创建之后不能更改。StringBuffer:是一个线程安全的可变字符序列,它与String一样,在内存中保存的都是一个有序的字符串序列(char类型的数组),不同点是StringBuffer对象的值是可变的。StringBuilder:与StringBuffer类基本相同,都是可变字符串系列,不同点是原创 2016-05-28 22:15:10 · 3780 阅读 · 3 评论 -
Java学习笔记之继承与初始化
更多博文可参考我的个人独立博客:贱贱的梦想 在探讨包括继承在内的初始化全过程前,我们先总结下代码块的相关知识。代码块在java中,所谓的代码块,就是用大括弧{}将多行代码封装在一起,形成一个独立地数据体。Java中的代码块主要分为以下四种:普通代码块、静态代码块、构造代码块、同步代码块。普通代码块平常我们用的最多的就是普通代码块,它是在方法名后面用大括弧{}括起来的代码块。如:public cla原创 2016-05-28 22:21:28 · 636 阅读 · 0 评论 -
Java学习笔记之重写(Overriding)与重载(Overloading)
更多博文可参考我的个人独立博客:贱贱的梦想 重写(Overriding)重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。class Animal{ public void move(){ System.out.println("动物可以移动"); }}class原创 2016-05-28 22:24:44 · 556 阅读 · 0 评论 -
Java学习笔记之深入理解关键字null
更多博文可参考我的个人独立博客:贱贱的梦想 关键字null跟public、static、final一样,null也是java的关键字(更多关键字可以参考Java学习笔记之基本语法)。不能将null写成Null或NULL,编译器将会报错。Object obj = NULL; // Not OkObject obj1 = Null; // Not OkObject obj2 = null; /原创 2016-05-28 22:26:55 · 910 阅读 · 0 评论 -
Java学习笔记之自动装箱与拆箱
更多博文可参考我的个人独立博客:贱贱的梦想 什么是自动装箱与拆箱自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。 自动装箱时编译器调用valueOf()将原始类型值转换成对象;自动拆箱时,编译器通过调用类似xxxValue()这类方法(如intValue(),doub原创 2016-05-28 22:28:44 · 2318 阅读 · 0 评论 -
Java学习笔记之深入理解动态绑定和静态绑定
基本概念动态绑定和静态绑定是Java中两个重要的概念。首先思考这么一个问题,当一个类中存在方法名相同但参数不同(重载)的函数或同一类层次结构下同一名称的方法(重写),程序在执行的时候该如何辨别区分呢?这里就需要用到Java中的动态绑定和静态绑定来解决。那么什么是动态绑定和静态绑定呢?绑定:指一个方法的调用与方法所在的类关联起来静态绑定:方法在程序编译期进行绑定动态绑定:方法在程序运行时根据具体原创 2016-06-26 16:55:24 · 1948 阅读 · 2 评论 -
Java学习笔记之深入理解关键字static
基本概念static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量这个概念。 在Java中,用static修饰的方法称为静态方法(类方法),用static修饰的变量称为静态变量(类变量)。 为什么需要static关键字?可以通过以下两种情形进行思考情形一:只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,原创 2016-06-26 22:45:58 · 1496 阅读 · 0 评论 -
Java学习笔记之深入理解关键字final
基本概念final是Java中是一个保留的关键字,可以声明变量(包括成员变量[实例变量和静态变量]和局部变量)、方法和类。它通常指“这是无法改变的”。将变量、方法和类声明为final,JVM能够对其进行优化,进而提升性能。 其关键知识点如下:final方法是在编译器绑定的,即静态绑定(可参考Java学习笔记之深入理解动态绑定和静态绑定)final**成员变量**必须在声明的时候初始化或者在构造原创 2016-06-29 21:21:37 · 769 阅读 · 0 评论 -
Java学习笔记之对象和对象引用
基本概念对象: 《Java编程思想》:按照通俗的说法,每个对象都是某个类(class)的一个实例(instance)。引用: 《Java编程思想》: 每种编程语言都有自己的数据处理方式。有些时候,程序员必须注意将要处理的数据是什么类型。你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如C/C++里的指针)来操作对象。所有这些在 Java 里都得到了简化,一切都被视为对象。因此,我们可原创 2016-06-30 21:24:34 · 705 阅读 · 0 评论 -
Java学习笔记之深入理解接口和抽象类
抽象类如果一个类包含一个或多个抽象方法,该类必须被声明为抽象类抽象类可以包含具体的方法,也可以不包含任何抽象方法如果一个类继承自抽象类,那么该类必须实现抽象类中所有的抽象方法(即提供方法体{}),否则该类必须声明为抽象类不能为抽象类创建任何对象,即使该抽象类不包含任何抽象方法abstract不能与final并列修饰同一个类abstract不能与private、static、final或n原创 2016-07-04 10:44:39 · 865 阅读 · 0 评论 -
Java学习笔记之深入理解关键字super
为什么需要super考虑这样一个情景,当一个类继承自另一个类,并重写了父类的一个方法,并且想在这个方法中调用父类的这个方法,该如何做呢?当然,我们不能直接调用该方法,因为它会产生递归。这时,我们就需要通过super.方法名来访问父类的该方法。 当然,super的存在不仅仅如此。我们知道,当创建一个导出类(即通过继承而来)的对象时,该对象会包含一个基类的子对象。这就需要我们正确的对基类子对象进行初始原创 2016-07-15 20:06:09 · 668 阅读 · 0 评论 -
Java学习笔记之进程和线程
进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。同一进程中的多条线程将共享该进程中的全部系统资源,同时它们有各自的调用栈、寄存器环境和线程本地存储,但是没有单独的地址空间。一个程序至少有一个进程,一个进程至原创 2016-06-23 08:41:11 · 479 阅读 · 0 评论 -
JDBC数据类型与Java数据类型对应关系
SQL JDBC/JAVA setter getter VARCHAR java.lang.String setString getString CHAR java.lang.String setString getString LONGVARCHAR java.lang.String setString getString BIT原创 2016-07-19 15:51:28 · 2915 阅读 · 1 评论 -
Java多线程系列之线程状态图
线程状态图 说明: 线程包括以下五种状态 1. 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 2. 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行原创 2016-07-29 22:15:56 · 1286 阅读 · 0 评论 -
Java学习笔记之反射(Reflection)
什么是反射能够分析类能力的程序称为反射(reflection)反射可以用来干什么Java反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)检查类,接口,变量以及方法的信息。 - 在运行中分析类的能力 - 在运行中查看对象 - 实现通用的数组操作代码 - 利用Method对象Class类在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类原创 2016-07-21 10:56:52 · 2711 阅读 · 0 评论 -
Java学习笔记之信息隐藏(Information Hiding)
好的类接口就像是冰山的尖儿一样,让类的大部分内容都不会暴露出来什么是信息隐藏信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。 1972年,David Parnas 发表了一篇题为《论将系统分解为模块的准则》的论文首次让公众注意到信息隐藏这一概念。 信息隐藏式结构程序设计与面向对象设计的基础之一。在面向对象设计中,它又原创 2016-12-27 15:28:42 · 7315 阅读 · 0 评论 -
Java学习笔记之LinkedList基本用法
更多信息可参考我的个人博客:贱贱的梦想 LinkedList简介LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 实现 List 接口,能进行队列操作。LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。ArrayList底层是由数组支持,而Lin原创 2016-05-28 22:09:30 · 35182 阅读 · 4 评论 -
Java学习笔记之ArrayList基本用法
更多信息可关注我的个人博客:贱贱的梦想 ArrayList简介ArrayList是一个其容量能够动态增长的动态数组。它继承了AbstractList,实现了List、RandomAccess, Cloneable, java.io.Serializable。 基本的ArrayList,长于随机访问元素,但是在List中间插入和移除元素时较慢。同时,ArrayList的操作不是线程安全的!一般在原创 2016-05-27 12:52:34 · 95976 阅读 · 9 评论 -
Java学习笔记之Iterator和ListIterator
Iterator接口是对collection进行迭代的迭代器,ListIterator接口是其子接口。它们都是遍历集合的工具。 Collection依赖于Iterator,其实现类都必须实现iterator()函数,返回一个Iterator对象;ListIterator是专门遍历List而存在的。IteratorIterator迭代器包含以下三种方法:boolean hasNext():如果仍有原创 2016-05-27 12:50:17 · 1055 阅读 · 0 评论 -
接口(Java)
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必原创 2015-12-12 21:05:40 · 446 阅读 · 0 评论 -
继承(Java)
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子类,类C是从类A继承而来的。在Java中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类 继承中最常使用的两个关键字是extends和implements。这两个关键字的使用决定了一个对象和另一个对象是否是IS原创 2015-12-12 21:42:29 · 491 阅读 · 0 评论 -
ContentValues(Java)
在SDK中,ContentValues的介绍为: This class is used to store a set of values that the ContentResolver can process.就是用于保存一些数据(string/boolean/byte/double/float/int/long/short …)信息,这些信息可以被数据库操作时方便地使用。ContentVa原创 2015-12-13 19:32:55 · 1506 阅读 · 0 评论 -
setContentView (Java)
方法原型:public void setContentView (int layoutResID)参数:layoutResID:将被加载资源的ID,如R.layout.activity_main功能:从一个布局资源(layout resource)中获取资源,并设置应用程序组件(activity )。该资源将被加载,并将所有的上层 View 控件加载到应用程序组件中。原创 2015-12-13 15:52:37 · 699 阅读 · 0 评论 -
抽象类与接口
java提高篇(五)—–抽象类与接口待续。。。原创 2015-12-04 20:25:15 · 691 阅读 · 0 评论 -
Java中如何判断两个String是否相等
假定有两个字符串str1和str2,那么如何判断str1和str2两个字符串相等?if(str1 == str2){...}? 首先指出,在java中,不能用“==”和“!=”来判断两个字符串是否相等。因为String是引用类型,而不是基本数据类型。故它们的比较是使用地址和值(相当于C中的指针)来比较,因为它们是不同的对象,有不同的地址。故str1==str2永远是false,而str1原创 2015-12-27 20:47:30 · 6405 阅读 · 1 评论 -
Java学习笔记之基本语法
Java学习笔记之基本语法1.基本语法(Basic Syntax)在Java编程中,我们需要注意以下几点问题: 1. 大小写敏感(Case Sensitivity):如Hello和hello在java中代表着不同的含义; 2. 类名称(Class Names):所有类的名称的首字母必须大写,而且,如果类名是由几个单词组成,那么这几个单词的首字母也必须大写,如类名:MyFirstJavaClass原创 2016-03-02 17:20:11 · 763 阅读 · 0 评论 -
Java学习笔记之对象与类
Java是一种面向对象的语言,它具有面向对象语言的一些特征,支持以下基本概念: - 多态性(Polymorphism) - 继承(Inheritance) - 封装(Encapsulation) - 抽象(Abstraction) - 类(Classes) - 对象(Objects) - 实例化(Instance) - 方法(Method) - 消息解析(Message Parsi原创 2016-03-04 20:07:03 · 659 阅读 · 0 评论 -
Java学习笔记之基本数据类型
变量只不过是为了存储数值而保存内存位置。也就是说,当创建一个变量时,将会得到内存中一些空间。根据变量的数据类型,操作系统将为其分配内存,并决定哪些可以存储在分配的内存中。因此,通过给变量分配不同的数据类型,我们可以在变量中存储整数(integers)、小数(decimals)或字符(characters )。在Java中有两种可用的数据类型: - 基本数据类型(Primitive Data Typ原创 2016-03-07 11:22:28 · 583 阅读 · 0 评论 -
Java学习笔记之变量类型
一个变量为我们提供了被命名的存储空间。Java中的每个变量都一个特定的类型,其能够决定变量内存的大小和布局;值的范围可以存储在这个内存中;并且操作集可以应用于该变量。在使用变量之前,必须先声明该变量。一个变量声明的基本形式如下:data type variable [ = value][, variable [= value] ...] ;这里,data type是Java数据类型之一,variab原创 2016-03-07 16:48:25 · 571 阅读 · 0 评论 -
String、StringBuffer和StringBuilder
基本概念String:此类代表字符串常量,它们的值在创建之后不能更改。StringBuffer:是一个线程安全的可变字符序列,它与String一样,在内存中保存的都是一个有序的字符串序列(char类型的数组),不同点是StringBuffer对象的值是可变的。StringBuilder:与StringBuffer类基本相同,都是可变字符串系列,不同点是StringBuilder是线程不安全的。原创 2016-04-03 21:52:06 · 644 阅读 · 1 评论 -
Java自定义类数组的创建和使用
简单介绍Java自定义类数组的创建和使用,具体代码如下:第一步:创建类 // 顶点表结点 private class VertexNode { char vertex; // 顶点域,存储顶点信息 VertexNode firstedge; // 边表头指针 }第二步:定义顶点数组并初始化// 初始化顶点,建立顶点表VertexN原创 2016-03-11 19:28:14 · 15193 阅读 · 2 评论 -
Java学习笔记之HashMap和Hashtable的区别
HashMap和Hashtable两个类都是实现的Map接口,它们都是保存键值(key-value)对。 可以从以下几个方面来比较两者的不同:继承的父类不同Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。public class Hashtable<K,V> extends Dictionary<K,V> i原创 2016-04-12 20:48:02 · 736 阅读 · 0 评论 -
Java和JVM运行原理
编译型语言和解释型语言编译型语言:专门的编译器,针对特定的操作系统翻译成机器码,并包装成该操作系统可执行程序的格式。 优点:执行速度快、效率高 缺点:依赖编译器、跨平台性差 代表语言:C、C++、Delphi、Pascal、Fortran解释型语言:在运行程序的时候进行翻译,专门的解释器负责在每个语句执行的时候解释程序代码。 优点:依赖解释器、跨平台性强 缺点:执行速度慢、效率低 代表语原创 2016-03-28 21:35:19 · 768 阅读 · 0 评论 -
java字符串中如何显示双引号
使用转义字符:// args[0]:"is"public class Test { public static void main(String[] args) { String str1 = "\"boy\""; //字符串两边含有双引号 String str2 = "He \"is\" a boy";原创 2016-04-18 21:23:56 · 10390 阅读 · 1 评论 -
String常用方法总结
getChars/*** * 将此字符串中的字符复制到目标字符数组 * @param 字符串中要复制的第一个字符的索引 * @param 字符串中要复制的最后一个字符之后的索引(不包括该字符) * @param 目标数组 * @param 目标数组中的起始偏移量 * 说明:以下任一项为true将会抛出IndexOutOfBoundsException异常 * 1.srcBegin为原创 2016-05-27 12:48:45 · 669 阅读 · 0 评论