![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 59
ZKaTT
正在学习中
展开
-
克隆对象
clone()方法是Object类的方法,是protected类型,同时也是native方法。默认的克隆操作是“浅拷贝”,只能对对象逐个域进行拷贝,并没有克隆对象中引用的其他对象(对于子对象采用共享的方式),一般只是克隆基本数据类型。浅拷贝有什么影响?如果原对象与浅克隆对象共享的子对象是不变的,那么这种共享就是安全的。如果子对象属于不可变的类,如String;或者子对象一直包含不变的常量,原创 2017-02-05 19:41:10 · 354 阅读 · 0 评论 -
对象包装器与自动装箱
所有的基本类型都有一个与之对应的类,这些类称为包装器(Wrapper)。 这些包装器类名为:Integer,Long,Float,Double,Short,Byte,Character,Void,Boolean(前六个类派生于公共的父类Number)。对象的包装器类都是不可变的,即一旦构造了包装器,就不允许更改包装在其中的值。同时,对象包装器类还是final,因此不能定义它们的子类。包含在包装器中原创 2017-02-01 21:11:26 · 975 阅读 · 0 评论 -
线程池
Excutor是顶级线程池接口ExecutorService是真正的线程池接口。Executors类提供了一些静态工厂用于生成一些常用的线程池,当将一个任务添加到线程池时,线程池会为每个任务创建一个线程,该线程会在某个时刻执行。public class Executors extendsObject public static ExecutorServicene原创 2017-02-23 21:04:36 · 276 阅读 · 0 评论 -
线程
public class Thread extends Object implements Runnable线程 是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护程序。当某个线程中运行的代码创建一个新 Thread 对象时,该新线程的初始优先级被设定原创 2017-02-23 15:32:32 · 331 阅读 · 0 评论 -
集合--集合框架中的接口与具体的集合
Java集合框架为不同的 集合定义了大量的接口:集合有两个基本接口:Collection与Map。Collection中插入元素使用 boolean add(E) 方法;Map中使用 V put(K key,V value)。Collection中读取元素使用 迭代器 访问;Map中使用 V get(K key)。List是有序集合,元素会增加到容器的特定位置。可以原创 2017-02-23 09:35:04 · 646 阅读 · 0 评论 -
集合---视图与包装器
实现了Collection/Map接口的类不只有我们熟悉的(ArrayList,LinkedList,HashSet,TreeSet,PriorityQueue,HashMap等类)类,还有好多别的类也实现了这些接口。通过使用视图可以获得其他实现了Collection/Map接口的对象。映射类的keySet方法就是这样的示例。映射类的keySet方法看起来是重新创建一个集合并将映射中所有的键填充进原创 2017-02-23 09:21:55 · 401 阅读 · 0 评论 -
Object类详解
* Object类是所有类的父类,每个类都是由Object类扩展而来。如果没有明确指出父类,则默认为Object类为该类的父类。* 可以使用Object类型的变量引用任何类型的对象。* 在Java中,只有基本数据类型(数字,字符,布尔)不是对象。所有的数组类型,不管是对象数组还是基本类型的数组都扩展了Object类。 int[] i=new int[5]; Object obj=i;* equ原创 2017-01-27 14:30:25 · 420 阅读 · 0 评论 -
方法参数
* 参数传递分为:* * 按值调用:方法接收的是调用者提供的值。 * 按引用调用:方法接收的是调用者提供的变量地址。* Java采用的总是按值调用。也就是说,方法得到的是所有参数值的拷贝,特别的,方法不能修改传递给它的任何参数变量的值。因为在方法结束之后,拷贝不再使用,被放弃。改变拷贝的值不能改变原始参数变量的值。* 方法参数有两种类型:* * 基本数据类型(数值,原创 2017-01-23 15:51:17 · 482 阅读 · 0 评论 -
Java枚举类型
所有的枚举类型都是Enum类的子类,枚举类型包括有限个命名的值。枚举类型的变量只能存储该类型中指定的枚举常量,或者null值。 枚举类型在定义时,可以添加指定的域,方法或者构造函数;当然构造函数为private,只是在声明枚举常量时调用,用于传递值。 枚举类型可以简单定义为: enum Size{ //枚举常量列表必须写在前面,否则编译出错 Small,原创 2017-01-20 17:43:04 · 274 阅读 · 0 评论 -
String讲解
String类没有提供用于修改字符串的方法。String类对象为不可变字符串,如字符串string=”HELLO”永远只包含HELLO这几个字母,而不能修改其中任何一个字符。当然可以修改字符串变量string的引用,让它引用另一个字符串。 不可变字符串有一个优点:编译器可以让字符串实现共享。实际上只有字符串常量(使用“ ”声明,存储在字符串常量池中)是共享的,subStrng,+等操作产生的结果不原创 2017-01-21 14:27:34 · 1884 阅读 · 1 评论 -
Java中equals和==的区别
Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们原创 2017-01-21 14:26:18 · 298 阅读 · 0 评论 -
Java泛型
泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。在增加泛型之前,泛型程序是利用继承实现的。public class ArrayList{ private Object[] data; ... public Object get(int i){} public void add(Object o){}} 这种方法原创 2017-02-10 21:49:42 · 313 阅读 · 0 评论 -
Java代理
代理(Proxy):利用代理可以在运行时创建一个实现了一组给定接口的新类。代理类可以在运行时创建全新的类,这样的代理类能够实现指定的接口,代理类具有的方法如下:指定接口所需要的全部方法。Object类中的全部方法,(所有的代理类都覆盖了Object类中的方法toString,equals,hashCode,其他方法如,clone,getClass没有重新定义)然而,不能再运行时定义这些原创 2017-02-10 18:03:28 · 295 阅读 · 0 评论 -
Java内部类
* 内部类(inner class)是定义在另一个类中的类。* 为什么要使用内部类? 1. 内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据。 2. 内部类可以对同一个包中的其他类隐藏起来。 3. 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。* 使用内部类访问对象的状态public class Out { private S原创 2017-02-06 18:10:32 · 229 阅读 · 0 评论 -
泛型数组列表
对于数组,Java允许在运行时确定数组的大小。ArrayList是一个采用类型参数的泛型类,为了指定数组列表中保存的元素对象类型,需要使用尖括号将类名括起来。ArrayList中的类型参数不允许是基本类型。ArrayList arl=new ArrayList使用add方法将元素添加到数组列表中,如果调用add且内部数组已经满了,数组列表就会自动地创建一个更大的数组,并将所有的对象从较原创 2017-02-01 21:12:43 · 2478 阅读 · 0 评论