
Java
文章平均质量分 92
黄月适
向上️
展开
-
比较器
一、Arrays类“java.util.Arrays.sort()”是一个数组排序操作,实际上这一个操作就是调用了java.util包中Arrays类的sort()方法完成的,而Arrays是一个数组操作的工具类(数组一般使用较少,所以此工具类意义不大)。范例:使用Arrays类import java.util.Arrays;public class TestDemo { p...转载 2018-09-11 15:06:13 · 324 阅读 · 0 评论 -
接口的定义及使用
一、接口的基本定义如果一个类之中只是由抽象方法和全局常量所组成的,那么在这种情况下不会将其定义为一个抽象类,而只会将其定义为接口,所以所谓的接口严格来讲就属于一个特殊的类,而且这个类里面只有抽象方法与全局常量。要定义一个接口使用interface关键字完成。范例:定义接口interface A {// 定义了接口 public static final String MSG ...转载 2018-08-07 17:50:28 · 36737 阅读 · 2 评论 -
抽象类
一、基本概念普通类可以直接产生实例化对象,并且在普通类之中可以包含有构造方法、普通方法、static方法、常量、变量等内容。而所谓的抽象类就是指在普通类的结构里面增加抽象方法的组成部分。所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用,而抽象方法指的是没有方法体的方法,同时抽象方法还必须使用abstract关键字进行定义。拥有抽象方法的类一定属...转载 2018-08-07 17:38:28 · 271 阅读 · 0 评论 -
内部类
如果从开发的角度,内部类能少用就少用,优先考虑的还是普通类。一、基本概念所谓的内部类指的就是在一个类的内部继续定义了其它内部结构类的情况。范例:观察内部类的基本形式class Outer {// 外部类 private String msg = "Hello World!"; class Inner {// 定义了一个内部类 public void print() {...转载 2018-08-02 19:51:28 · 149 阅读 · 0 评论 -
代码块
在程序编写之中可以直接使用“{}”定义一段语句,那么根据此部分定义的位置以及声明的关键字的不同,代码块一共可以分为四种:普通代码块、构造块、静态块、同步代码块(等待多线程的时候)。尽可能在编写代码的时候不要去使用代码块。一、普通代码块如果说一个代码块写在了方法里面,那么就称它为普通代码块。范例:观察如下代码public class TestDemo { public sta...转载 2018-08-02 19:43:11 · 327 阅读 · 0 评论 -
类图描述
在软件设计上有一门课程——UML,它就是利用了一系列的图形来描述项目结构、代码结构、执行顺序等等,现在的开发之中如果是一个开发的项目设计书上,一定要提供有UML图,但是很少再有人直接去画了。工具:PowerDesigner、RationalRose一、类图如果要想描述类图一般有三个组成结构:· 第一层:类名称,如果是抽象类使用斜体字;· 第二层:描述类中的属性,对于属性肯定要封...转载 2018-08-10 22:33:10 · 5833 阅读 · 0 评论 -
异常的捕获及处理
异常是Java的一个重大特色,合理的使用异常处理,可以让我们的程序更加的健壮。一、异常的产生异常是导致程序中断执行的一种指令流,异常一旦出现并且没有进行合理处理的话,那么程序就将中断执行。范例:不产生异常的代码public class Demo { public static void main(String args[]) { System.out.println("1...转载 2018-08-10 22:31:10 · 444 阅读 · 0 评论 -
访问控制权限
一、访问控制权限访问控制权限也就是针对于封装做了一个总结,本次来观察四种访问控制权限。在之前只是简单的见到了封装性,但是对于封装是与访问控制权限有直接联系的。在Java里面一共支持四种访问控制权限:public、protected、default、private,这四种访问控制权限特点如下所示: No 范围 private ...转载 2018-08-10 22:18:26 · 894 阅读 · 0 评论 -
包的定义及使用
一、包的定义包指的是一个程序的目录,在最早的时候如果要开发一个程序,只需要定义一个*.java文件,而后在这个文件里面编写所需要的类文件,而在编译之后程序将直接保存在根目录下,而利用包可以实现同一个程序的拆分,即:可以根据要求将代码保存在不同的目录下。如果要定义包可以使用关键字package关键字完成。范例:定义包package cn.zhai.demo;public cl...转载 2018-08-10 22:09:26 · 4657 阅读 · 1 评论 -
Object类
经过了一系列的学习可以发现有一个最麻烦的问题出现了:现在有对象、数组接口,那么这么多数据怎么能够进行统一呢?于是就有了Object类的设计。一、Object类的基本定义Object类是所有类的父类,也就是说任何一个类在定义的时候如果没有明确的继承一个父类的话,那么它就是Object类的子类,也就是说,以下两种类定义的最终效果是完全相同的: class Book{} ...转载 2018-08-07 17:59:51 · 239 阅读 · 0 评论 -
Eclipse基本使用
一、Eclipse简介Eclipse如果翻译成中文指的是“日蚀”,指的是遮盖一切的光芒,这是一个针对于SUN很挑衅的一个名字。Eclipse是由IBM开发的。后来转送给了今天的Eclipse组织,进行开源项目的推广。Java原本是SUN公司的开发,但是结果使用最流行的开发工具不是SUN提供的。最早SUN推出了Java之后,它们认为Java可以完全的取代行业的主流编程语言的地位,所以曾经高调...转载 2018-08-20 21:04:12 · 695 阅读 · 0 评论 -
Java5新特性
从JDK 1.5开始,Jav的开发就出现了许多新特性,有部分的新特性已经使用了,只不过随着不同版本的提升,新特性也越来越多。一、可变参数如果现在要求设计一个方法,这个方法可以接收任意多个整型数据的相加。那么最早的设计就是利用数组来解决问题。范例:最初的解决方案package cn.mldn.demo;public class TestDemo { public stat...转载 2018-08-20 21:09:15 · 413 阅读 · 0 评论 -
日期操作类
一、日期处理类(Date)日期是一个重要的单位,在Java之中如果用户要想取得当前的系统日期时间,一个最简单的方式就是直接输出java.util.Date类对象,而这个Date类的构造方法:无参构造:public Date(); 有参构造:public Date(long date)。范例:操作Dateimport java.util.Date;public clas...转载 2018-09-11 14:56:37 · 231 阅读 · 0 评论 -
数字操作类
一、Math类Math是一个数学操作类,在Math类之中提供有大量的数学操作方法。但是在这个类里面只强调一个round()方法:public static long round(double a)。范例:使用四舍五入public class TestDemo { public static void main(String[] args) throws Exception { ...原创 2018-09-11 14:53:20 · 234 阅读 · 0 评论 -
Java基础类库
一、StringBuffer类在讲解StringBuffer类之前先来回顾一下String类特点:一个字符串常量就是String类的匿名对象; String类对象有两种实例化方式: |- 方式一:直接赋值,可以自动入池,只开辟一块内存空间; |- 方式二:构造方法实例化,会开辟两块空间,其中一块将成为垃圾,不会自动入池,可以使用intern()方法手工入池;字...转载 2018-09-11 14:50:34 · 363 阅读 · 0 评论 -
综合实战:“生产者-消费者”模型
一、问题引出本程序的核心结构如下:首先定义两个类,一个是生产者线程,另外一个消费者线程类,生产者每生产完一个数据之后,消费者要取走这些数据,那么假设现在的数据有两种:title = 小动物,content = 草泥马; title = 小金子,content = 不是好孩子。范例:代码基本模型class Message { private String title; pri...转载 2018-09-11 14:39:52 · 241 阅读 · 0 评论 -
线程的同步与死锁
一、同步当多个线程访问同一资源的时候一定需要考虑到同步问题,那么下面首先通过一个简单的卖票程序,来观察不同步的情况。范例:观察问题class MyThread implements Runnable { private int ticket = 8; // 一共8张票 @Override public void run() { // 线程的主方法 for (int x ...转载 2018-09-11 14:20:13 · 167 阅读 · 0 评论 -
多线程常用操作方法
多线程的所有操作方法基本上都在Thread类之中定义的,所以研究方法也就是一个Thread类的翻译,那么下面主要看三组方法。一、命名和取得在整个多线程的操作之中,名称是最重要的,因为多线程的运行状态是不确定的,那么系统只能够根据名字来判断出是那一个线程,所以在为线程命名的时候不要有重复,更不要修改。在Thread类里面提供了如下的几个方法进行名称操作:构造方法:public Th...转载 2018-09-11 14:17:31 · 179 阅读 · 0 评论 -
Java多线程实现
一、线程与进程从操作系统来讲,可以被民用的系统最早是DOS,但是传统的DOS系统有一个特征:电脑出现病毒之后系统会死机,因为传统的DOS系统采用的是单进程的处理方式。而后来到了windows时代,那么采用的是多进程的处理方式,在同一个时间段上会有多个程序并发执行,轮流强占CPU资源。但是进程的启动和销毁还是很慢的。所以后来人们开始尝试在进程上做进一步的优化,那么就产生了线程的概念,即:...转载 2018-09-11 14:14:05 · 160 阅读 · 0 评论 -
泛型
一、泛型问题引出例如,现在要求用户设计一个表示坐标点的类,但是此坐标保存数据有可能有如下几种:· 整型数据:x = 10、y = 20;· 小数数据:x = 10.2、y = 20.3;· 字符串数据:x = 东经100度、y = 北纬20度。那么现在很明显,Point类表示坐标,那么针对于坐标点有三类数据,而在Point类里面应该定义有两个属性:x、y,所以现在首先要解决的问...转载 2018-09-11 14:06:29 · 170 阅读 · 0 评论 -
扩展概念
一、匿名内部类接口与抽象类和匿名内部类的关系。为什么需要存在有匿名内部类,下面通过一个简短的代码来观察此概念。interface Message { public void print();}class MessageImpl implements Message { public void print() { System.out.println("Hello Wor...转载 2018-08-10 21:58:57 · 808 阅读 · 0 评论 -
static关键字
一、定义属性首先来观察一个代码:范例:定义程序class Book { private String title; private double price; // 定义一个描述出版社信息的属性,为了考虑操作方便,暂不封装 String pub = "清华大学出版社"; public Book(String title, double price) { this.t...转载 2018-08-01 20:58:04 · 198 阅读 · 0 评论 -
String类常用方法
String在所有的项目开发中都一定要使用到,那么在String类里面提供了一系列的功能操作方法,本次学习其中大部分的操作方法,而对于有一些操作,需要等待全部的知识掌握之后才可以进行后续的学习。对于系统类的方法,一定要去查询文档,一些不常用的方法允许不知道,但是一定要会查。而对于String类的一些方法,由于使用的情况比较多,为了方便开发必须背。对于每一个API文档的内容而言,都由以下几...转载 2018-07-30 14:21:47 · 5085 阅读 · 0 评论 -
Java程序逻辑控制
程序逻辑主要分为三种逻辑结构:顺序结构、分支结构、循环结构。顺序结构的所有的代码都是从前向后执行的。有些时候顺序是由“{}”为界限的。一、分支结构分支结构是一种判断结构,有两类语法支持:if、switch。1、if分支语句:此类语句有多种定义形式。 if if…esle… if…esle…if…esle… i...转载 2018-07-21 14:00:58 · 477 阅读 · 0 评论 -
数组的定义及使用
一、基本概念数组指的就是一组相关变量的集合。例如:如果现在要想定义100个整型变量,如果按照传统的思路:int i1,i2,……i100,一共写100个变量。这100个变量满足逻辑要求,但是没有任何的逻辑的控制关系,完全独立,那么就会出现对象不方便管理的情况。这种情况下,就可以利用数组来解决此类问题,而数组本身也属于引用数据类型。数组的定义语法如下:· 声明并开辟数组:数据类型...转载 2018-07-26 16:00:15 · 23969 阅读 · 0 评论 -
Java开发准备
一.Java发展简介Java的发展历史以及当前java的发展现状。1. Java发展历史1)一门编程语言,或称为事实意义上的程序的开发标准结构。2)1991年GREEN项目:这个项目主要功能就是利用email来控制各个家电产品的运行。最早SUN的工程师们打算使用C++进行开发,后来考虑到C++开发复杂度,于是SUN的工程师们开始利用C++搭建了一个新的平台,而这个平台...转载 2018-07-15 16:01:00 · 355 阅读 · 0 评论 -
Java运算符
一、基本运算符在之前使用过这样的语法:int num = 10;此类的方式称为赋值运算符,“=”是实现赋值运算使用的。那么进行数学计算时所使用的四则运算也属于运算符的定义范畴。运算符的优先级 优先级 运算符 类 综合性 1 () 括号...转载 2018-07-20 22:22:00 · 497 阅读 · 0 评论 -
深入分析类与对象
一、封装性在研究封装之前,首先先观察如下一段代码:class Book {// 定义一个新的类 String title;// 书的名字 double price;// 书的价格 public void getInfo() {// 此方法将由对象调用 System.out.println("图书名称:" + title + "价格:" + price); }}publ...转载 2018-07-24 23:54:40 · 416 阅读 · 0 评论 -
类与对象
一、面向对象简介面向对象是最早是在七十年代的时候由IBM的Smalltalk语言最先推广的,后来C语言经过面向对象设计的修改形成了C++,后来又由C++产生了今天的Java。面向对象是一种技术的开发模式,但是最早的时候所使用的模式是面向过程。 面向过程:指的是针对于某一个问题单独提出解决方案以及代码开发。 面向对象:以一种组件化的形式进行代码的设计。这样开发出来的代码有一个最大的好...转载 2018-07-24 14:29:35 · 398 阅读 · 0 评论 -
Java数据类型划分
一、简介任何的程序严格来讲都属于一个数据的处理游戏。所以来讲对于数据的保存就必须有严格的限制,那么这些限制就体现在了数据类型的划分上,即:不同的数据类型可以保存不同的数据内容。Java数据类型的划分·Java一共分为两大数据类型:基本数据类型、引用数据类型 ·基本数据类型(分为8种): ·数值型: ·整型:byte、short、int、long;(默...转载 2018-07-18 14:13:42 · 404 阅读 · 0 评论 -
this关键字
一、调用属性观察如下代码:class Book { private String title; private double price; public Book(String t, double p) { title = t; price = p; } // setter、getter略 public String getInfo() { return "书...转载 2018-07-30 14:31:38 · 306 阅读 · 0 评论 -
方法的定义与使用
一、基本概念以一个人抽烟为例,如果他每次抽烟都要求自己去种烟草,自己进行加工、卷烟,那么如果把这些步骤想象成20行代码,那么请问:这个时候如果他重复去做这些操作肯定很麻烦,于是他会将这些步骤封装好,最终封装的结果就成了一根根可以拿来使用的烟。如果将20行代码归纳的话,可以简单的理解就是一个方法,所以所谓的方法就是指一段可以被重复调用的代码段,利用此操作可以封装执行的代码。但是在Java...转载 2018-07-22 14:55:55 · 568 阅读 · 1 评论 -
链表的定义与使用
一、链表基本形式链表是一种最为简单的数据结构,它的主要目的是依靠引用关系来实现多个数据的保存,那么下面假设现在要保存的数据是字符串。范例:定义一个Node类假设本次保存的数据是String型数据,同时拥有下一个引用;//每一个链表实际上就是由多个节点所组成的class Node {// 定义一个节点 private String data;// 要保存的数据 priv...转载 2018-08-03 22:05:38 · 2867 阅读 · 0 评论 -
String类的特点
String是一个字符串类型的类,使用““”定义的内容都是字符串,但是String本身毕竟是一个类,虽然这个类在使用上会有一些特殊,但是我们必须从类的角度与内存关系上分析这个类的作用。一、String类对象的两种实例化方式直接赋值:在之前使用过String,最早使用的时候是直接采用了“ String 变量 =“字符串”; ”语法形式完成的。这种形式我们把它称为直接赋值。publi...转载 2018-07-27 20:12:55 · 1598 阅读 · 1 评论 -
对象比较
如果说现在有两个数字判断是否相等使用“==”,两个字符串判断是否相等使用“equals()”,如果现在有一个自定义的类,要想判断它的两个对象是否相等,那么必须要实现类对象之中所有属性内容的比较。对象 = 数据集合,那么进行比较一定要依次比较所有的属性。范例:基础的比较方式class Book { private String title; private double pric...转载 2018-07-31 17:06:53 · 180 阅读 · 0 评论 -
综合实战:简单Java类深入
一、数据表与简单Java类映射在之前已经给出了简单Java类一定要和数据表的结构对应上,同时外键需要依靠引用来进行关联,于是本次将针对于简单Java类做一个功能上的扩充。要求通过Java程序描述出dept-emp关系,使用字段: · dept:deptno、dname、loc; · emp:empno、ename、job、sal、...转载 2018-07-31 16:12:25 · 368 阅读 · 0 评论 -
辅助概念
一、final关键字在Java之中final称为终结器,在Java里面可以使用final定义类、方法、属性。1、使用final定义的类不能够再有子类范例:观察final定义的类final class A{}class B extends A{//错误的}一般在进行一些系统类的时候会使用到final,如果你要进行一些架构代码的开发,也会用到final,但是你只是一个使...转载 2018-08-04 20:05:03 · 387 阅读 · 0 评论 -
继承实战:数组操作
要求定义一个数组操作类(Array类),在这个类里面可以进行整型数组的操作,由外部传入数组的大小,并且要求实现数据的保存以及数据的输出,随后在这个类上要求派生两个子类:· 排序类:通过此类取得的数据可以进行排序;· 反转类:通过此类取得的数组数据要求采用倒序的方式输出。在进行开发的时候,一定不可能去考虑到子类,如果考虑到子类了,你的代码就写不出来。一、开发数组的父类要求定义一个...转载 2018-08-04 19:53:03 · 468 阅读 · 0 评论 -
覆写
继承性的主要特征是子类可以根据父类已有的功能进行功能的扩展,但是在子类定义属性或方法的时候,有可能定义的属性和方法与父类同名,这样的情况下就称为覆写。一、方法的覆写当子类定义了与父类方法名称相同、参数的类型及个数、返回值相同的方法时,就称为发生了覆写。范例:观察覆写的产生效果class A { public void fun() { System.out.println(...转载 2018-08-04 19:48:16 · 719 阅读 · 0 评论 -
引用传递分析实例
一、引用传递引用传递是整个Java的精髓所在。引用传递的核心意义:同一块堆内存空间可以被不同的栈内存所指向,不同栈内存可以对同一堆内存进行内容的修改。范例:第一道引用传递范例class Message { private int num = 10; public Message(int num) { this.num = num; } public void s...转载 2018-07-30 17:01:45 · 1410 阅读 · 0 评论