Java
文章平均质量分 55
寂寞灵魂
这个作者很懒,什么都没留下…
展开
-
Java.IO note
Java.IO File Class: Path Interface and Files Class is part of NIO System. AutoCloseable, Closeable, Flushable Interface Closeable, Flushable is part of java.io AutoCloseable is part of java.lang原创 2015-11-29 20:45:20 · 477 阅读 · 0 评论 -
I/O、Applet以及其他主题
这是《Java8编程参考官方教程》第13章的笔记。 I/O的基础知识:字节流、字符流、预定义流; 字节流和字符流都使用Unicode编码。 预定义流包括in、out、err。 所有的Java程序都自动导入java.lang包。这个包定义了System类。in、out、err在System类中被声明为public、static、final。System.in是InputSt原创 2016-06-23 13:40:59 · 325 阅读 · 0 评论 -
方法和类的深入分析
这是《Java 8编程参考官方教程》第七章的笔记 Java重载根据的是实参和方法形参之间的匹配。自动类型转换也在重载版本的判断中起到了作用。重载的价值在于允许使用通用名称访问相关的方法。 参数传递:分为两种:值调用(call-by-value)、引用调用(call-byt-reference) Java使用值调用传递所有实参。但根据所传递的是基本类型还是引用类型,精确效果原创 2016-06-16 10:25:11 · 348 阅读 · 0 评论 -
Java static变量
静态全局变量:只能被同一源文件中的函数调用,其它文件中的函数不能调用静态全局变量。 Java里没有全局变量,java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),你可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的原创 2016-09-24 14:16:52 · 886 阅读 · 0 评论 -
Java ArrayList LinkedList
ArrayList长于随机访问 LinkedList长于插入和删除原创 2016-09-26 19:42:53 · 361 阅读 · 0 评论 -
使用Dom4j解析XML
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. dom4j官方文档:http://dom4j.sourceforge.net/dom4j-1.6.1/guide.html转载 2016-09-29 15:49:42 · 316 阅读 · 0 评论 -
Java 重载和重写
Java里方法的重写是一个类中多态的一种表现。自JDK1.5后,重写也可以改变返回值类型,只要此类型是父方法的返回值类型的子类即可。e.g.父类返回Object,子类的重写方法返回String也是可以的。 Java里方法的重载时父类与子类之间多态性的一种表现。重载可以修改返回值类型。原创 2016-09-19 16:12:47 · 306 阅读 · 0 评论 -
深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口转载 2016-09-29 16:31:26 · 274 阅读 · 0 评论 -
effective Java chapter 2创建和销毁对象
使用静态工厂方法代替构造器,静态工厂方法通常比公有的构造器更加合适。 构造器的实现方法: 重叠构造器模式:不能很好的扩展到大量的可选参数,因为那时代码将难写和难读。JavaBean模式:使用一个无参构造器来创建对象,然后使用setter设置每个参数。缺点是可能不是线程安全的;阻止了把类做成不可变的可 能。 Builder模式:编写一个公开静态内部类,然后编写一个私有的以b原创 2016-10-03 10:17:48 · 279 阅读 · 0 评论 -
Java 抽象类 接口
抽象类: 可以有抽象方法和非抽象方法。子类必须实现父类的抽象方法,不必实现父类的非抽象方法。非抽象方法需要body,抽象方法不能有body。抽象类不能被实例化,即不能有new关键字去产生抽象类的对象。 接口: 接口的数据成员是public static final的,必须要初始化。接口没有构造方法。接口中的方法没有body。原创 2016-10-04 15:20:35 · 296 阅读 · 0 评论 -
java对象值传递和对象传递的总结
在Java中对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。传递基本类型时,传递的是副本的引用。 前两天项目lead面试我,问的第一个问题就是值传递和对象传递的问题,这问题之前只知道皮毛,不是很清晰,今天专门总结下。 先看基本类型作为参数传递的例子: public class Test1 { public static void main(String转载 2016-10-04 15:35:38 · 460 阅读 · 0 评论 -
JAVA中方法和变量在继承中的覆盖和隐藏
转自:http://www.cnblogs.com/linth/p/3641175.html我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊,但是在面试或者是SCJP认证题中围绕这些是会经常碰到的,所以这里来讨论下首先我们来看几个概念类变量:又叫静态转载 2017-04-09 20:51:04 · 539 阅读 · 0 评论 -
多线程编程
这是《Java8编程参考官方教程》第11章的笔记。 基于进程的多任务处理是”大局“,基于线程的多任务处理是”细节“。 虽然Java使用基于多进程的多任务环境,但是基于多进程的多任务处理不是由Java控制的。不过,基于多线程的多任务处理是由Java控制的。 多线程实现最大限度利用系统功能的一种重要方式是使空闲时间保持最少。 Java线程模型:运行状态(running)、挂原创 2016-06-21 15:53:23 · 333 阅读 · 0 评论 -
异常处理
这是《Java8编程参考官方教程》第10章的笔记。 Java异常时用来描述在一段代码中发生的异常情况(也就是错误)的对象。当发现引起异常的情况时,就会创建用来表示异常的对象,并在引起错误的方法中抛出异常对象。 异常类型:都是内置类Throwable的子类。Throwable包括Exception和Error。 多条catch子句:要重点记住异常子类必须位于所有原创 2016-06-20 15:07:27 · 281 阅读 · 0 评论 -
包和接口
接口和抽象类很相似,但一个类可以实现多个接口;类只能继承单个超类(抽象类或其他类)。 包:用于保持类的名称空间相互隔离,不会发生命名冲突。 private和public大家都知道。protected对同一个包内的类和不同包内的子类可见。无访问修饰符则只对同一个包内的类可见。 接口(interface):接口断开了一个方法或一系列方法的定义与继承层次之间的关联。这是原创 2016-06-19 11:08:15 · 448 阅读 · 0 评论 -
Java Collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比转载 2016-03-17 16:20:44 · 334 阅读 · 0 评论 -
java.io.FileWriter class doesn’t use UTF-8 by default
Oddly enough the java.io.FileWriter class doesn’t use UTF-8 by default. I’m not exactly sure what the default encoding is (possibly ISO-8859-1 or US-ASCII?) but it doesn’t seem to be UTF-8, which is o转载 2016-02-20 20:32:13 · 533 阅读 · 0 评论 -
Java重写父方法
若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求! A、重写规则之一: 重写方法不能比被重写方法限制有更严格的访问级别。 (但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限。) 比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记public修饰符,编译器当然不会放过任何教训我们 的机会。出错的原因就原创 2016-04-05 16:59:50 · 411 阅读 · 0 评论 -
泛型
这是《Java8编程参考官方教程》第14章的笔记。 泛型(Generic):参数化类型。使用泛型的类、接口、方法,可以作为参数指定所操作数据的类型。 使用泛型,所有的类型转换都是自动和隐式进行的。 通过操作Object类型的引用,Java可以创建一般化的类、接口以及方法。Object是所有类的超类。 起始自JDK 5。 当声明泛型类的实例时,传递过来的类型参数必须是引原创 2016-06-25 15:49:48 · 263 阅读 · 0 评论 -
lambda表达式
这是《Java8编程参考官方教程》第15章的笔记。 lambda表达式:起始自JDK 8。 lambda表达式:e.g. () -> 123.45;函数式接口:仅包含一个抽象方法的接口。 没有指定默认实现的接口方法隐式地是抽象方法。 lambda表达式不是独立执行的,而是构成了一个函数式接口定义的抽象方法的实现,该函数式接口定义了它的目标类型。 可以(int n,原创 2016-06-26 15:15:34 · 357 阅读 · 0 评论 -
Java综述
这是《Java8编程参考官方教程》第二章的笔记。 两种范式:1、面向过程编程;2、面向对象编程。 OOP三原则:封装、继承、多态。 一、封装: 在Java里,封装的基础是类。类定义了一组对象共享的结构和行为(数据和代码)。对象称为类的实例(instance)。 二、继承: 继承是一个对象获得另一个对象的属性的过程。它支持层次化分类的概原创 2016-06-14 21:26:31 · 431 阅读 · 0 评论 -
枚举、自动装箱与注解(元数据)
这是《Java8编程参考官方教程》第12章的笔记。 枚举:起始于JDK 5。每个枚举常量被隐式声明为公有、静态成员,类型是声明它们的枚举的类型。 每个枚举常量都是所属枚举类型的对象。 枚举不能继承其他类;枚举不能是超类。 尽管如此,但是所有枚举都自动继承超类java.lang.Enum。 枚举对比大小: copareTo原创 2016-06-22 10:43:32 · 380 阅读 · 0 评论 -
java中Collection和Collections的区别和联系
1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├LinkedList │├ArrayList │└Vector │转载 2016-06-06 17:17:09 · 543 阅读 · 0 评论 -
数据类型、变量和数组
这是《Java8编程参考官方教程》第三章的笔记。 Java里char是16位类型范围是0~65536。ASCII的范围是0~127。ISO-Latin-1的范围是0~255。 从JDK 7开始,可以使用二进制指定整型字面值。e.g. int x = 0b1010; 为了阅读的方便,在整型字面值和浮点型字面值中还可以嵌入一个或多个下划线。e.g. int x = 1原创 2016-06-15 20:33:26 · 297 阅读 · 0 评论 -
类
声明对象:Box myBox; //将myBox声明为Box类型对象的引用。 myBox = new Box(); //分配实际的对象,并将这个对象的引用赋给myBox。 new运算符在运行时为对象分配内存。对象占用内存中的空间。 Bo原创 2016-06-15 21:41:00 · 258 阅读 · 0 评论 -
继承
这是《Java8编程参考官方教程》第8章的笔记。 基础知识: 尽管子类包含超类的所有成员,但是子类不能访问超类中被声明为私有的那些成员。超类变量可以引用子类变量,如parentClass = childClass;但是parentClass只能访问childClass的那些在超类中定义的部分。 super的两种用法: 调用超类的构造函数用于访问超类中被子原创 2016-06-17 20:33:17 · 300 阅读 · 0 评论 -
Java:关于负数的向上转型
int的负数n向上转型为long时,应该写成-(long)n,而不是(long)-n。 举例:int n = Integer.MIN_VALUE;//-2147483648 System.out.println(-(long)n);//2147483648 System.out.println((long)-n);//-2147483648原创 2017-04-27 14:32:54 · 498 阅读 · 0 评论