Java基础
文章平均质量分 58
渔村暮火
这个作者很懒,什么都没留下…
展开
-
构造方法,方法重载
默认构造方法无参数带参数的构造方法进行初始化重载参数不同public class Tree { static int height; Tree(){ System.out.println("Plant a seedling"); } Tree(int initialHeight){ height = initialHeight; System.out.println("原创 2017-11-14 23:10:51 · 183 阅读 · 0 评论 -
forward和redirect的区别
执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址执行redirect时,服务器端告诉浏览器重新去请求地址forward是内部重定向,redirect是外部重定向1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地...原创 2018-04-19 20:47:16 · 140 阅读 · 0 评论 -
Java类递归计数
Class.isAssignableFrom();执行运行时的检查,以校验传递的对象确实属于我们感兴趣的继承结构。统计基类和确切类型个数。import java.util.HashMap;import java.util.Map;/** * @author E-mail: * @version 2018年6月2日 上午11:45:49 */public class ...原创 2018-06-02 18:14:04 · 1918 阅读 · 0 评论 -
Java设计模式:注册工厂
注册工厂:静态初始化器只有在类首次被加载的时候才能被调用,因此碰上了先有鸡还是先有蛋的问题:生成器在其列表中不包含这个类,因此不能创建这个类的对象,而这个类也就不能被加载并置于这个列表中。 使用工厂方法设计模式,将对象的创建工作交给类自己去完成。工厂方法可以被多态调用,从而为你创建适当类型的对象。本方法中,工厂方法就是Factory接口中的create()方法。package com.aijie....原创 2018-06-02 19:34:40 · 3932 阅读 · 1 评论 -
instanceof与Class的等价性
在查询类型信息时,以instanceof的形式(即以instanceof的形式或isInstance()的形式)与直接比较Class对象有一个很重要的差别。instanceof保持了类型的概念,它指的是 你是这个类或者这个类的派生类吗?而用==比较实际的Class对象,就没有考虑继承,它或者是这个确切的类型,或者不是。package com.aijie.typeinfo; /** ...原创 2018-06-02 20:00:43 · 4649 阅读 · 0 评论 -
Java基本设计模式动态代理
代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象。这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色。下例用来展示代理结构简单示例:因为consumer()接受的Interface,所以他无法真正获得到底是RealObject还是SimpleProxy,因为二者都实现了Interface。但是SimpleProxy已经被插入到...原创 2018-06-03 12:13:39 · 189 阅读 · 0 评论 -
Java数组基本使用
数组使用[]来访问元素;List使用get();set()方法import java.util.*;class BerylliumSphere { private static long counter; private final long id = counter++; public String toString(){return "Sphere "+id;}}publi...原创 2018-05-29 22:20:30 · 192 阅读 · 0 评论 -
Set工具
package ding.util; import java.util.HashSet;import java.util.Set;/** * @author E-mail: * @version 2018年6月5日 下午8:48:54 */public class Sets { /** * @Title: union * @Description...原创 2018-06-06 21:45:53 · 592 阅读 · 0 评论 -
使用泛型构建复杂模型Store商店
package ding; import java.util.ArrayList;import java.util.Random;import ding.generics.Generators;/** * @author E-mail: * @version 2018年6月5日 下午9:31:42 */class Product{ private fi...原创 2018-06-06 21:53:32 · 229 阅读 · 0 评论 -
LinkedList下载堆栈
package ding; /** * @author E-mail: * @version 2018年6月4日 下午11:27:39 * 使用末端哨兵(end sentinel)来判断堆栈何时为空。 * 每调用一次push()方法,就会创建一个Node<T>对象并将其链接到前一个对象 * 当调用pop()方法时,总是返回top.item,然后丢弃当前to...原创 2018-06-06 22:14:53 · 184 阅读 · 0 评论 -
A+B和C
给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。import jav...原创 2018-03-20 21:10:40 · 326 阅读 · 0 评论 -
Java流(Stream)、文件(File)和IO
Java 的控制台输入由 System.in 完成。为了获得一个绑定到控制台的字符流,你可以把 System.in 包装在一个 BufferedReader 对象中来创建一个字符流。下面是创建 BufferedReader 的基本语法: BufferedReader br = new BufferedReader(new InputStreamReader(System.in));import j...原创 2018-03-24 16:31:26 · 267 阅读 · 0 评论 -
Java Math类
Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。public class JavaMath { public static void main(String[] args) { System.out.println("90 度的正弦值:" + Mat...转载 2018-03-24 15:06:49 · 2488 阅读 · 0 评论 -
Break和Continue
/** * * @author pc *1.一般的continue会退回最内层循环的开头,继续执行 *2.带标签的continue会达到标签的位置,并重新进入紧接在标签后边的循环 *3.一般的break会中断并跳出当前循环 *4.带标签的break会中断并跳出标签所指循环 */public class LableledWhile {public s原创 2017-11-13 23:03:15 · 155 阅读 · 0 评论 -
静态数据初始化
无论创建多少个对象,静态数据都只占用一份存储区域。static关键字不能作用于局部变量,只作用于域。初始化的顺序为,先静态对象,而后是非静态对象。class Bowl { Bowl(int marker){ System.out.println("Bowl("+marker+")"); } void f1(int marker){ System.out.println("f1("原创 2017-11-20 20:40:29 · 297 阅读 · 0 评论 -
String 与StringBuilder执行速度
String 对象不可改变,可以给String对象加任意多的别名。因为String对象具有只读特性,任何指向它的引用对象都不能改变它的值。public class Test { public String implicit(String[] fields){ String result = ""; for(int i = 0;i<fields.length;i++){...原创 2018-02-28 21:39:14 · 374 阅读 · 0 评论 -
String类的提供的方法
length(): String中字符的个数。charAt(): 取得String中该位置的char。getChars(),getBytes():复制char或byte到一个目标数组中。toCharArray():生成一个char[],包含String的所有字符。compareTo():按字典顺序比较String内容,比较结果为负数,零或正数。注意,大小写不等价。contains():如果该Str...原创 2018-02-28 22:16:20 · 4577 阅读 · 0 评论 -
持有对象
Java容器类类库的用途是保存对象,并将其划分为两个不同的概念:1:Collection 。一个独立的元素序列,这些元素都服从一条或者多条规则。List必须按照插入顺序保存元素,而Set不能有重复元素。2:Map。一组成对的“键值对”对象,允许使用键来查找值。 List接口在Collection的基础上添加了大量的方法,使得可以在List的中间插入和移除元素;有两种类型的Li...原创 2018-02-22 20:51:35 · 304 阅读 · 0 评论 -
创建自定义异常
class MyException extends Exception { public MyException(){} public MyException(String msg){ super(); }}public class FullConstructors{ public static void f() throws MyException{ System.out.p...原创 2018-02-22 21:22:29 · 1945 阅读 · 0 评论 -
Java基本数据类型
public class DataType { /** 数据类型: 基本类型:4类8种 引用类型:类,接口,数组。 基本类型: 整数: 占用的内存空间 byte 1字节 01111111 10000000(1既表示符号位,又表示数值 -128) short 2字节 int 4字节 long 8字...转载 2018-03-24 14:41:19 · 148 阅读 · 0 评论 -
Class对象(1)
/** * @author E-mail: * @version 2018年5月31日 下午8:58:40 * * (RTTI, Run-Time Type Identification)是Java中非常有用的机制,在Java运行时,RTTI维护类的相关信息。多态(polymorphism)是基于RTTI实现的。RTTI的功能主要是由Class类实现的 */cla...原创 2018-05-31 22:34:31 · 170 阅读 · 0 评论