
Java
文章平均质量分 89
志见
志见,见我所见。
展开
-
Android Studio 代码检查Lint工具
Android Studio作为Google官方推荐的IDE,功能非常强大,其中提供了一套静态代码分析工具,它可以帮助我们检查项目中存在的问题,让我们更有规范性的开发App。它可以检查出:xml文件中是否存在hardcode硬编码、unused resources没有使用到的资源、probable bug可能的bug等等。那么现在我们来测试使用它看看:Android Lint的使用转载 2016-10-19 17:34:35 · 775 阅读 · 0 评论 -
Java String类详解(一)
String类是一个字符串类型的类,使用“XXXX”定义的内容都是字符串,虽然这个类在使用上有一些特殊,但是String本身是一个类。一、String的实例化两种方式1、直接赋值实例化:String StringName= "xxx";以上是String对象的直接赋值,以上的代码并没有使用关键字new进行。String类也是类,所以也有构造方法。2、使用构造方法实例化:public String(S原创 2016-10-08 22:11:03 · 12297 阅读 · 5 评论 -
Java 关键字this详解
在整个Java中,只要是代码开发,几乎都离不开this。在Java中this可以完成三件事情:表示本类属性、表示本类方法、当前对象。一、“this.属性”表示本类属性讲解之前,我们先看一段代码:package com.wz.thisdemo;class Person { private String name ; private int age ; public Person原创 2016-10-09 11:52:48 · 7048 阅读 · 5 评论 -
Java 关键字static详解
一、static基本描述对于关键字static ,大家应该不会陌生,因为一直编写: public static void main(String args[]) {...}那static表示什么呢?static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是要注意一点:Java语言中没有全局变量的概念。 二、使用static定义属性我们先来看一个表原创 2016-10-09 15:57:16 · 6368 阅读 · 3 评论 -
Java 内部类详解
一、前言内部类平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下。从开发的角度来讲,内部类能少用就少用,优先考虑普通类。二、内部类的基本概念在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类形式如下:package com.wz.innterclassdemo;class Outer { // 外部类 private String msg原创 2016-10-10 16:29:21 · 1398 阅读 · 0 评论 -
Java 构造方法私有化与单例模式
先看一个程序:class Singleton { // 定义一个类 public void print() { System.out.println("Hello World"); }}public class Test { public static void main(String args[]) { Singleton inst = n原创 2016-10-16 19:30:05 · 3438 阅读 · 0 评论 -
Java 泛型详解(一)
一、泛型的引出假设要求定义一个表示坐标的操作类(Point),这个类可以表示三种类型的坐标: (1)整数坐标:x = 10、y = 20; (2)小数坐标:x = 10.1、y = 20.3; (3)字符串数据:x = “东经100度”、y = “北纬20度”。分析:类中如果想保存以上的数据,一定需要定义x和y两个属性,而这两个属性可以接收三种数据类型,这样的话,只能使用Object类来定义会原创 2016-10-16 23:28:49 · 2150 阅读 · 4 评论 -
Java 异常的捕获与处理详解(二)
上一篇Java 异常的捕获与处理详解(一)讲了异常的产生、处理以及处理流程,接下来讲其他内容。一、throws关键字thrwos关键字主要是在方法定义上使用的,表示的是此方法之中不进行异常的处理,而交给被调用处处理。例如:class MyMath { public int div(int x, int y) throws Exception { return x / y;原创 2016-10-17 12:00:54 · 12706 阅读 · 2 评论 -
Java IO操作详解
在Java编程中,IO(输入输出)是重要的组成部分,Java应用常常需要从外界输入数据或者把数据输出到外界。Java IO的核心用一句话概括:抽象类或接口之中的抽象方法会根据实例化子类的不同,会完成不同的功能。所有的IO操作都在java.io包之中进行定义,而且整个java.io包实际上就是五个类和一个接口: (1)五个类:File、InputStream、OutputStream、Reader、原创 2016-10-26 13:03:01 · 7254 阅读 · 6 评论 -
Java synchronized之“可重入锁”
概念 可重入锁:自己可以再次获取自己的内部的锁。比如有线程A获得了某对象的锁,此时这个时候锁还没有释放,当其再次想获取这个对象的锁的时候还是可以获取的,如果不可锁重入的话,就会造成死锁。可重入锁也支持在父子类继承的环境中。实例package com.test.sync;public class Main { public int i = 10; synchronized publi原创 2016-09-21 16:52:11 · 3914 阅读 · 0 评论 -
[Java]字符串 与 ASCII码 相互转换
将字符串转成ASCII /** * 字符串转换为Ascii * @param value * @return */ public static String stringToAscii(String value) { StringBuffer sbu = new StringBuffer();原创 2016-09-08 18:39:33 · 46861 阅读 · 0 评论 -
[Java] abstract类和interface的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。 其实,两者之间还是有原创 2016-09-06 14:54:06 · 955 阅读 · 0 评论 -
Java输入流输出流详解
通过数据流、序列化和文件系统提供系统输入和输出。Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。1.1转载 2016-01-09 20:19:00 · 1132 阅读 · 0 评论 -
Java之final特性简述
1、final变量 一旦声明的final变量被赋值后,就不能改变该变量的值。一个既是static又是final的字段只占据一段不能改变的存储空间。2、final方法 被final定义的方法不能被重写,一个定义为private的方法隐式的被指定为final类型。定义为final的方法可以使运行时的效率优化。3、final类 定义为final的类不能被继承,不能再派生子类。将某个类定义原创 2016-01-05 21:10:52 · 865 阅读 · 0 评论 -
Java异常捕获之try...catch...finally语句
格式:try{ //程序块(存放可能发生异常的Java语句) }catch(Exceptiontype1 e){ //对Exceptiontype1异常的处理 }catch(Exceptiontype2 e){ //对Exceptiontype2 异常处理 }finally{ //程序块(finally语句块是异常处理结构最后执行部分,不管try如何退出,都原创 2016-01-05 21:07:59 · 1703 阅读 · 0 评论 -
Java类和对象 详解(二)
上一篇Java类和对象 详解(一)讲解了类和对象的基本概念,定义和使用,以及对象引用传递的初步分析,下面接着来讲其他内容。一、面向对象的封装性封装(encapsulation)又叫隐藏实现(Hiding the implementation)。就是只公开代码单元的对外接口,而隐藏其具体实现。比如手机,手机的键盘,屏幕,听筒等,就是其对外接口。你只需要知道如何按键就可以使用手机,而不需要了解手机内部的原创 2016-10-07 17:52:38 · 20824 阅读 · 13 评论 -
Java接口 详解(二)
上一篇Java接口 详解(一)讲到了接口的基本概念、接口的使用和接口的实际应用(标准定义)。我们接着来讲。一、接口的应用—工厂设计模式(Factory)我们先看一个范例:package com.wz.factoryDemo;interface Fruit{ public void eat();}class Apple implements Fruit{ @Override p原创 2016-10-06 12:16:01 · 7815 阅读 · 3 评论 -
强烈推荐的几个Android studio插件
1、GenymotionGenymotion是测试Android应用程序,使你能够运行Android定制版本的旗舰工具。它是为了VirtualBox内部的执行而创建的,并配备了一整套与虚拟Android环境交互所需的传感器和功能。使用Genymotion能让你在多种虚拟开发设备上测试Android应用程序,并且它的模拟器比默认模拟器要快很多。如果你想要确保你开发的应用程序能原创 2016-10-19 17:24:23 · 1438 阅读 · 0 评论 -
Java 正则表达式详解
一、正则表达式的引出先完成一个简单的程序:判断一个字符串是否全部由数字组成。public class TestDemo { public static void main(String[] args) throws Exception { String str = " 13412a 4124214141232"; if (isNumber(str)) {原创 2016-10-17 15:00:30 · 981 阅读 · 0 评论 -
Java 异常的捕获与处理详解(一)
一、异常的产生异常是程序之中导致程序中断的一种指令流,异常一旦出现并且没有进行合理处理的话,那么程序就将中断执行。 下面,通过两个程序来进行异常产生问题的对比。 (1)不产生异常的程序:public class Test { public static void main(String args[]) { System.out.println("1、除法计算开始。");原创 2016-10-17 10:45:05 · 25324 阅读 · 11 评论 -
Java 泛型详解(二)
上一篇 Java 泛型详解(一)介绍了泛型的引出、定义和使用,已经泛型的通配符。下面继续介绍泛型接口和f泛型方法。一、泛型接口使用泛型定义的接口可以称为泛型接口。例如:interface Message<T> { // 泛型接口 public String getInfo(T msg) ;}泛型接口的实现,在Java之中有两种方式:(1)在子类上继续定义泛型,同时此泛型在接口上继续使用、原创 2016-10-16 23:53:01 · 966 阅读 · 0 评论 -
Java 多线程详解(三)
一、线程的同步与死锁1、线程同步问题的引出所谓的同步问题指的是多个线程操作同一资源时所带来的安全性问题。例如,下面模拟一个简单的卖票程序,要求有5个线程,卖6张票。package com.wz.threaddemo;class MyThread implements Runnable { private int ticket = 6; @Override public void原创 2016-10-13 11:45:01 · 1081 阅读 · 0 评论 -
Java 多线程详解(二)
上一篇Java 多线程详解(一)讲解了线程的一些基本概念和多线程的实现方式。接下来将讲解实现多线程主要的两种方式的区别和多线程的常用操作方法等。一、Thread类和Runnable接口实现多线程两种方式的区别Thread类和Runnable接口都可以做为同一功能的方式来实现多线程,那么从Java的实际开发而言,肯定优先考虑使用Runnable接口,因为可以有效的避免单继承的局限,除了这个,这两种方式原创 2016-10-12 11:54:41 · 1106 阅读 · 1 评论 -
Java 多线程详解(一)
一、进程与线程1、进程是什么?狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。2、线程是什么?线程,有时被称为轻量级进程(Li原创 2016-10-11 18:10:53 · 2253 阅读 · 3 评论 -
Java 覆写(Override)详解
一、覆写概念既然现在出现了继承的关系,那么就存在了子类和父类的联系,而在子类之中有可能定义和父类完全相同的方法或属性的名称,这个时候就称为覆写了。二、方法的覆写当子类定义了和父类在方法名称、返回值类型、参数类型及个数完全相同的方法的时候,称为方法的覆写。没有覆写的操作:package com.wz.overridedemo;class A { public vo原创 2016-10-11 13:13:03 · 15999 阅读 · 1 评论 -
Java 继承(extends)详解
一、继承问题的引出继承性是面向对象的第二大主要特征。 下面首先编写两个程序:Person类、Student类。Person类:class Person { private String name ; private int age ; public void setName(String name) {原创 2016-10-11 10:55:19 · 118227 阅读 · 16 评论 -
Java 代码块详解
在程序编程中,可以直接使用“{}”定义一段语句。根据定义的位置以及声明关键字的不同,可以分为四种:普通代码块、构造代码块、静态代码块和同步代码块。一般来说代码块是不能单独运行的,它必须要有运行主体。一、普通代码块普通代码块是定义在方法之中的代码块。我们先观察一下代码:package com.wz.thisdemo;public class TestDemo { public static v原创 2016-10-09 19:53:13 · 1230 阅读 · 0 评论 -
Java String类详解(二)
上一篇Java String类详解(一)讲了String类对象的两种实例化方式及其区别,字符串比较,以及String类的特点,我们接着来讲String类的常用方法。一、字符串的常用方法 — 字符与字符串很多编程语言利用了字符数组的概念来描述字符串的概念,在String类的方法上也有所体现。一个例子:字符串和字符数组转换,完成一个小写字符串变为大写字符串的操作public class StringDe原创 2016-10-08 23:22:35 · 2486 阅读 · 1 评论 -
Java类和对象 详解(一)
一、面向对象简述面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实原创 2016-10-06 20:48:02 · 182936 阅读 · 126 评论 -
Java接口 详解(一)
一、基本概念接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有。范例:定义一个接口interf原创 2016-10-06 00:46:42 · 126932 阅读 · 37 评论 -
Java抽象类 详解
一、抽象类的基本概念普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。那么什么叫抽象方法呢?在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修原创 2016-10-05 00:06:35 · 193660 阅读 · 67 评论 -
Java反射机制 详解
一、什么是反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。Java不是动态语言。但是Java有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是原创 2016-10-03 23:39:46 · 1435 阅读 · 3 评论 -
简析java.lang.String类
1、得到字符串对象的有关信息(1)通过调用length()方法得到String的长度.例:String str="This is a String";int len =str.length();(2)StringBuffer类的capacity()方法与String类的 length()的方法类似,但是它测试是分配给StringBuffer的内存空间的大小,而不是当前被使用了的内存空间。(3)如果原创 2016-01-05 20:54:34 · 1134 阅读 · 1 评论