
java学习
文章平均质量分 91
口耳戈是个生僻字
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Properties子类
Properties类本身属于Hashtable的子类,但是由于Properties类都使用String数据类型进行操作,所以在使用Properties类时主要使用本类所定义的方法No. 方法 类型 描述 1 public Object setProperty(String key, String value) 普通 设置属性 2 public String getProperty...原创 2018-02-08 12:05:26 · 157 阅读 · 0 评论 -
数字操作类
Math就是一个专门进行数学计算的操作类,里面提供了一系列的数学计算方法(例如:对数、绝对值、幂运算等)。在Math类里面提供的一切方法都是static型的方法,所以可以直接由类名称进行调用。在整个Math类中有一个方法需要为读者特别说明,那就是四舍五入的操作方法(publicstatic long round(double a))。四舍五入public class TestDemo {...原创 2018-02-08 11:01:11 · 185 阅读 · 0 评论 -
StringBuffer类
在Java之中,字符串使用String类来进行表示,但是String类所表示的字符串有一个最大的问题:“字符串常量一旦声明则不可改变,而字符串对象可以改变,但是改变的是其内存地址的指向”。所以String类不适合于被频繁修改的字符串操作上,所以在这种情况下,往往可以使用StringBuffer类,即:StringBuffer类方便用户进行内容的修改。在String类之中使用“+”作为数...原创 2018-02-08 10:58:29 · 123 阅读 · 0 评论 -
线程的同步与死锁.
同步 同步是多线程开发中的一个重要概念,但是既然有同步,那么就一定会存在有不同步的操作。所以本节将为读者分析线程不同步所带来的影响。 多个线程操作同一资源时就有可能出现不同步的问题,例如,现在产生N个线程对象实现卖票操作,同时为了更加明显的观察到不同步所带来的问题,所以本程序将使用线程的休眠操作。class MyThread implements Runnable { priva...原创 2018-02-08 10:53:44 · 159 阅读 · 0 评论 -
多线程常用方法
线程转换状态Ø 创建状态 在程序中用构造方法创建了一个线程对象后,新的线程对象便处于新建状态,此时,它已经有了相应的内存空间和其它资源,但还处于不可运行状态。新建一个线程对象可采用Thread类的构造方法来实现,例如:Thread thread=newThread(); Ø 就绪状态 新建线程对象后,调用该线程的start()方法就可以启动线程。当线程启动时,线程进入就...原创 2018-02-08 10:50:44 · 153 阅读 · 0 评论 -
多线程
多线程的实现 Ø 在Java之中,如果要想实现多线程的程序,那么就必须依靠一个线程的主体类(就好比主类的概念一样,表示的是一个线程的主类),但是这个线程的主体类在定义的时候也需要有一些特殊的要求,此类需要继承Thread类或实现Runnable(Callable)接口来完成定义。继承Thread类 Ø java.lang.Thread是一个负责线程操作的类,任何的类只需要继...原创 2018-02-08 10:44:26 · 149 阅读 · 0 评论 -
枚举
枚举是JDK 1.5之后增加的一个主要新功能,利用枚举可以简化多例设计模式(一个类只能够产生固定几个实例化对象)的定义,同时在Java中的枚举也可以像普通类那样定义属性、构造方法、实现接口等 Ø 枚举主要用于定义一组可以使用的类对象,这样在使用时只能够使用固定的几个对象来进行类的操作。这样的操作形式在实际生活中非常的多: Ø 如果要表示日期的对象,那么只能够有以...原创 2018-02-08 10:38:58 · 211 阅读 · 0 评论 -
泛型接口和方法
定义泛型接口/** * 定义泛型接口,由于类与接口命名标准相同,为了区分出类与接口,在接口前加上了字母“I”,例如:IMessage * 如果以后定义抽象类,则可以在前面加上Abstract,例如:AbstractMessage * @author YOOTK * @param <T> print()方法使用的泛型类型 */interface IMessage<T&g...原创 2018-02-08 10:33:34 · 188 阅读 · 0 评论 -
泛型--通配符
利用泛型技术虽然解决了向下转型所带来的安全隐患问题,但同时又会产生一个新的问题:即便是同一个类,但是由于设置泛型类型的不同,那么其对象表示的含义也是不同,是不能够直接进行引用操作的,例如:现在有如下一个类。class Message<T> { // 类上使用泛型 private T msg; public void setMsg(T msg) { this.msg = m...原创 2018-02-08 10:33:27 · 158 阅读 · 0 评论 -
泛型--概念
在面向对象的开发中,利用对象的多态性可以解决方法参数的统一问题,但是随之而来也会带来有一个新的问题:“向下转型会存在类转换异常(ClassCastException)”,所以向下转型的操作并不是安全的,那么为了解决这样的问题,从JDK 1.5开始提供有泛型技术泛型的引出Ø 现在假设要开发一个GIS系统(地理信息系统、Geographic Information System),则肯定需要一个...原创 2018-02-08 10:33:19 · 182 阅读 · 0 评论 -
异常处理标准格式
Ø 异常处理除了最为常见的“try…catch”应用格式之外,还存在一种结合“try、catch、finally、throw、throws”一起使用的异常处理格式,而在讲解这一应用之前,首先来看一个简单的开发要求:要求定义一个div()方法,而这个方法有如下的一些要求: Ø 在进行除法操作之前,输出一行提示信息; Ø 在除法操作执行完毕后,输出一行提示信息; Ø ...原创 2018-02-08 10:33:10 · 469 阅读 · 0 评论 -
throws和throw关键字
thrwos关键字主要是在方法定义上使用的,表示的是此方法之中不进行异常的处理,而交给被调用处处理。class MyMath { public static int div(int x, int y) throws Exception { // 此方法不处理异常 return x / y; }}调用以上的方法public class TestDemo { public static ...原创 2018-02-08 10:32:56 · 241 阅读 · 0 评论 -
异常处理流程
异常类结构 来观察两个异常类的继承关系Ø 可以发现所有的异常类型最高的继承类是Throwable,并且通过doc文档可以发现在Throwable下有两个子类:Ø Error:指的是JVM错误,这个时候的程序并没有执行,无法处理;Ø Exception:指的是程序运行中产生的异常,用户可以使用异常处理格式处理。 异常的处理完整流程原创 2018-02-07 14:43:31 · 275 阅读 · 0 评论 -
日期处理类
Date类 在之前一直在强调简单Java类的概念,也重点阐述了简单Java类和数据表之间的映射关系的,但是对于数据表的日期型字段却一直没有映射,而在Java之中,如果要想表示出日期型,则使用java.util.Date类完成。No. 方法 类型 描述 1 public Date() 构造 实例化Date类对象 2 public Date(long date) 构造 将数字...原创 2018-02-08 11:09:37 · 203 阅读 · 0 评论 -
正则表达式
正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是从JDK 1.4引入到Java中的。本质上是一种字符串操作的语法规则,利用此语法规则可以更加灵活的实现字符串的匹配、拆分、替换等操作。 实现字符串的判断public class TestDemo { public static void main(String[] args) throws Ex...原创 2018-02-08 11:14:36 · 1101 阅读 · 0 评论 -
Map集合
Collection每次只能够保存一个对象,所以属于单值保存父接口。而在类集中又提供有保存偶对象的集合:Map集合,利用Map结合可以保存一对关联数据(按照“key = value”的形式),如图13-4所示。,这样就可以实现根据key取得value的操作。Map接口的常用方法No. 方法名称 类型 描述 1 public V put(K key, V value) 普通 向集合中保...原创 2018-02-08 12:02:09 · 167 阅读 · 0 评论 -
集合输出
由于集合之中往往会保存多个对象数据,所以一般进行集合输出时都会采用循环的方式完成。而在Java中,集合的输出操作有四种形式:Iterator输出、ListIterator输出、Enumeration输出、foreach(加强型for循环)输出迭代输出:IteratorØIterator(迭代器)是集合输出操作中最为常用的接口,而在Collection接口中也提供有直接为Iterator接口实例化的...原创 2018-02-08 11:57:53 · 256 阅读 · 0 评论 -
Set子接口
Ø在Collection接口下又有另外一个比较常用的子接口为Set子接口,但是Set子接口并不像List子接口那样对于Collection接口进行了大量的扩充,而是简单的继承了Collection接口。也就是说在Set子接口里面是无法使用get()方法根据索引取得保存数据的操作。在Set子接口下有两个常用的子类:HashSet、TreeSet。HashSet子类的特点import java.uti...原创 2018-02-08 11:53:35 · 316 阅读 · 0 评论 -
List子接口
List子接口最大的功能是里面所保存的数据可以存在有重复内容,并且在Collection子接口中List子接口是最为常用的一个子接口,在List接口中对Collection接口的功能进行了扩充No. 方法名称 类型 描述 1 public E get(int index) 普通 取得索引编号的内容 2 public E set(int index, E element) 普通...原创 2018-02-08 11:50:01 · 246 阅读 · 0 评论 -
Collection
Collection java.util.Collection是进行单对象保存的最大父接口,即:每次利用Collection接口都只能够保存一个对象信息。此接口定义如下: publicinterface Collection<E> extends Iterable<E>Collection接口的核心方法No. 方法名称 类型 描述 1 public b...原创 2018-02-08 11:48:05 · 197 阅读 · 0 评论 -
网络编程
网络编程的核心意义在于不同的电脑主机之间进行的数据交互,但是在Java中将这一概念又进一步进行了简化,即:Java是以JVM进程划分网络的(可能一台或多台电脑上会同时运行多个JVM,那么这些不同的JVM彼此都是一台主机),不同的JVM进程表示不同的主机网络编程分类 网络编程的实质意义在于数据的交互,而在这一交互过程之中一定就会分为服务器端与客户端,而这两端的开发就会存在有以下两种模...原创 2018-02-08 11:44:41 · 207 阅读 · 0 评论 -
Scanner
Scanner类中的常用方法No. 方法 类型 描述 1 public Scanner(InputStream source) 构造 接收InputStream输入流对象,此为输入源 2 public boolean hasNext() 普通 判断是否有数据输入 3 public String next() 普通 取出输入数据,以String形式返回 4 public b...原创 2018-02-08 11:36:51 · 2836 阅读 · 0 评论 -
内存流和打印流
内存流 在流的操作中除了进行文件的输入与输出操作之外,也可以针对于内存进行同样的操作。假设说现在某一种应用,需要进行IO操作,但是又不希望在磁盘上产生一些文件的时候,就可以将内存当作一个临时文件进行操作。在Java中,针对于内存操作提供有两组类: Ø 字节内存流:ByteArrayInputStream(内存字节输入流)、ByteArrayOutputStream(内存字节输出流...原创 2018-02-08 11:35:02 · 344 阅读 · 0 评论 -
转换流和字符编码
转换流 虽然字节流与字符流表示两种不同的数据流操作,但是这两种流彼此间是可以实现互相转换的,而要想实现这样的转换就可以通过InputStreamReader、OutputStreamWriter两个类实现。首先来观察一下这两个类的继承结构以及构造方法:名 称 InputStreamReader OutputStreamWriter 定义结构 public class Inp...原创 2018-02-08 11:32:21 · 212 阅读 · 0 评论 -
字节流与字符流
流分类 Ø 在Java中针对于数据流的操作也分为输入与输出两种方式,而且针对于此操作提供有两类支持: Ø 字节流(JDK 1.0开始提供):InputStream(输入字节流)、OutputStream(输出字节流); Ø 字符流(JDK 1.1开始提供):Reader(输入字符流)、Writer(输出字符流)。 Ø 在java.io包中,四个操作流的类(O...原创 2018-02-08 11:28:16 · 159 阅读 · 0 评论 -
File类
文件基本操作import java.io.File;public class TestDemo { public static void main(String[] args) throws Exception { // 此处直接抛出 File file = new File("d:\\test.txt"); // 设置文件的路径 if (file.exists()) { // 判...原创 2018-02-08 11:24:34 · 246 阅读 · 0 评论 -
反射机制
反射是Java之中最为重要的特性,几乎所有的开发框架以及应用技术中都是基于反射技术的应用,本节主要讲解反射机制的作用以及如何利用反射实现类结构的操作。认识反射 在正常的类操作过程之中,一定是要先确定使用的类,而后利用关键字new产生实例化对象后使用,但是现在如果要想通过对象取得此对象所在的类的信息,那么此时就可以通过Object类中的getClass()方法(public final C...原创 2018-02-08 11:20:26 · 146 阅读 · 0 评论 -
异常的产生及处理
异常是程序之中导致程序中断的一种指令流,为了帮助读者更好的理解异常出现时所带来的问题,将通过两个程序来进行异常产生问题的对比。不产生异常的代码public class TestDemo { public static void main(String args[]) { System.out.println("1、除法计算开始。"); System.out.println("2、原创 2018-02-07 14:41:02 · 279 阅读 · 0 评论 -
构造方法私有化(单例和多例设计的初步了解
首先,来看一下下面的这段代码 私有化构造方法class Singleton { // 定义一个类 private Singleton() { // 构造方法私有化 } public void print() { System.out.println("Hello World ."); }}public class TestDemo { public stat原创 2018-02-07 14:36:42 · 236 阅读 · 0 评论 -
继承案例
现在要求定义一个整型数组的操作类,数组的大小由外部决定,用户可以向数组之中增加数据,以及取得数组中的全部数据。随后在原本的数组之上扩充指定的容量,另外,在此类上派生两个子类: Ø 排序类:取得的数组内容是经过排序出来的结果; Ø 反转类:取得的数组内容是反转出来的结果; 本程序要求数组实现动态的内存分配,也就是说里面的数组的大小是由程序外部决定的,则在本类原创 2018-02-04 10:10:50 · 381 阅读 · 2 评论 -
覆写
继承性的主要特征是子类可以根据父类已有的功能进行功能的扩展,但是在子类定义属性或方法的时候有可能出现定义的属性或方法与父类同名的情况,这样的操作就称为覆写。方法的覆写: Ø 当子类定义了和父类在方法名称、返回值类型、参数类型及个数完全相同的方法的时候,称为方法的覆写。 Ø 覆写方法的返回类型要一致class A { public void fun() { // 在原创 2018-02-04 10:07:39 · 237 阅读 · 0 评论 -
继承
继承是面向对象的第二大主要特性,而继承性要解决的就是代码重用的问题,利用继承性可以从已有的类继续派生出新的子类,也可以利用子类扩展出更多的操作功能继承问题的引出Person.java:class Person { private String name ; private int age ; // setter、getter略}Student.java:class St原创 2018-02-04 10:00:10 · 300 阅读 · 0 评论 -
java链表增删查改等功能的实现
链表的基本开发结构class Link { // 链表类,外部能够看见的只有这一个类 private class Node { // 定义的内部节点类 private String data; // 要保存的数据 private Node next; // 下一个节点引用 public Node(String data) { // 每一个Node类对象都原创 2018-02-04 09:45:15 · 1414 阅读 · 0 评论 -
java链表基本概念
链表是一种根据元素节点逻辑关系排列起来的一种数据结构。利用链表可以保存多个数据,这一点类似于数组的概念,但是数组本身有一个缺点—— 数组的长度固定,不可改变,在长度固定的情况下首选的肯定是数组,但是在现实的开发之中往往要保存的内容长度是不确定的,那么此时就可以利用链表这样的结构来代替数组的使用。 链表是一种最为简单的数据结构,它的主要目的是依靠引用关系来实现多个数据的保存,那么下面原创 2018-02-03 08:58:55 · 6623 阅读 · 0 评论 -
java内部类详解
内部类是一种类的结构扩充,让一个类的内部除了属性与方法之外还可以存在有其它类的结构,并且内部类也可以定义在方法或代码块中,但是从开发的角度来讲,要尽量避免使用内部类,优先考虑普通类。一个内部类的例子class Outer { // 外部类 private String msg = "Hello World !"; class Inner { // 定义一个内部原创 2018-02-02 11:03:48 · 175 阅读 · 0 评论 -
static关键字
static定义属性 在一个类之中,主要的组成就是属性和方法(分为构造方法与普通方法两种),而每一个对象都分别拥有各自的属性内容(不同对象的属性保存在不同的堆内存之中),如果现在类中的某个属性希望定义为公共属性(所有对象都可以使用的属性),也就是在全局数据区开辟一块空间,则可以在声明属性前加上static关键字。static定义方法 在定义类的普通方法时也原创 2018-02-01 14:14:23 · 138 阅读 · 0 评论 -
数据表与简单Java类映射
有如下关系图要求: 一个部门有多个雇员; 一个雇员有一个或零个领导//getter和setter省略class Dept { private int deptno; // 部门编号 private String dname; // 部门名称 private String loc; // 部门位置 priv原创 2018-01-31 14:53:53 · 261 阅读 · 0 评论 -
java引用传递实例
class Member { private int mid; // 人员 编 号 private String name; // 人员 姓 名 private Car car; // 表示属于人的车,如果没有车,则内容为null private Member child ; // 表示人的孩子,如果没有,则为null public M原创 2018-01-31 14:50:31 · 293 阅读 · 0 评论 -
java关键字this
在Java中可以实现类属性的调用,类方法的调用,表示当前对象1. 调用属性class Book { private String title; private double price; public Book(String title, double price) { this.title = title; // this.属性表示的是本类属性,这样即使与方法中的参数原创 2018-01-31 14:48:46 · 239 阅读 · 0 评论 -
String类常用方法3
转小写与大写操作public class StringDemo { public static void main(String args[]) { String str = "(*(*Hello(*(*" ; // 定义字符串 System.out.println(str.toUpperCase()) ; // 转大写后输出 System.out.println(str.to原创 2018-01-31 14:09:06 · 188 阅读 · 0 评论