
Java
文章平均质量分 89
Java
鹿与森呀
这个作者很懒,什么都没留下…
展开
-
Java泛型
什么是泛型Java泛型是JDK 5引入的一个一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。对比JDK 5以前运行时抛出异常的处理,可以更早和更优雅的发现非法类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,不限定于特定类型,可以根据实际需要设置不同的数据类型,以实现代码复用。泛型的使用参数化类型特征:把类型当做参数传递。类型参数只能代表引用类型,不能是原始类型(像int,double,char等)。一些常用的泛型类型原创 2020-02-23 23:42:17 · 218 阅读 · 0 评论 -
String对象创建
(1)String str = "abc";(2)String str = new String("abc");(3)String str = "abc".intern();(看书时会常看到这个)第一种方式会先从常量池中判断是否存在“abc”对象,如果不存在,则会在常量池中创建该对象,然后返回常量池“abc”的引用。第二种方式会先从常量池中判断是否存在“abc”对象,如果不存在,则...原创 2020-01-05 01:00:41 · 172 阅读 · 0 评论 -
Integer初始化
Integer的valueOf()在-128~127之间时会使用Integer内部类IntegerCache,这时新创建的Integer对象中保存的是cache数组中某个元素的引用。所以integer == integer1为true,由于引用同一对象,地址相同。public class Test { public static void main(String[] args) { Integer integer = 127; Integer integer1 =原创 2019-12-31 14:08:37 · 1904 阅读 · 2 评论 -
Java对象初始化顺序
结论:父类静态代码块,父类静态成员变量(同级,按代码顺序执行) 子类静态代码块,子类静态成员变量(同级,按代码顺序执行) 父类普通代码块,父类普通成员变量(同级,按代码顺序执行) 父类构造方法 子类普通代码块,子类普通成员变量(同级,按代码顺序执行) 子类构造方法注意:我们new一个对象A时,首先会先创建A类的父类B的实例对象,如果B类仍有父类C,会先创建父类C的对象,以此类推...原创 2019-12-22 01:56:43 · 119 阅读 · 0 评论 -
Java中的浅复制和深复制
一、浅复制与深复制概念(1)浅复制浅复制会复制“被复制对象”基本类型的值和对象的引用。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。(2)深复制深复制会复制“被复制对象”基本类型的值,对象的引用将重新指向一个被复制过的新对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。二、clone()、Cloneable和Serialiable(1)clone()...原创 2019-11-19 11:36:57 · 561 阅读 · 0 评论 -
Java抽象类与接口区别
抽象类与接口区别抽象类 接口 关键字abstract class 关键字interface 子类extneds继承抽象类,单继承(is-a) 子类implements实现接口,多实现(like-a) 可以有构造器,构造器不是用来实例化的,用来给子类初始化的 不能有构造器 成员变量权限public、protected、private和default都可以...原创 2019-07-18 11:02:59 · 454 阅读 · 0 评论 -
Java初始化与清理
初始化Java尽力保证:所有变量在使用前都能得到恰当的初始化。对于方法的局部变量,Java以编译时错误的形式来贯彻这种保证。基本类型默认初值都为0,char也为0,但是'\u0000'为空格控制打印为空。Java类的初始化顺序:https://www.cnblogs.com/fly-piglet/p/8766226.html清理C++中,对象一定会被销毁(如果程序中没有缺陷...原创 2019-07-12 15:36:40 · 139 阅读 · 0 评论 -
Java访问控制(public,private,protected,default)
public:所有类可见 private:本类可见 protected:本包和所有子类可见(本包中的子类可访问,不同包中的子类可以访问,不是子类不能访问) default:本包可见(本包中的子类和非子类均可访问,不同包中的类及子类不能访问)例:├─china(本包:中国)│ ├─OtherPeople(类:其他人)│ └─Chinese(类:中国人)(静态属性:钱)└─for...原创 2019-04-23 13:43:27 · 547 阅读 · 0 评论 -
Java栈
Java的StackJDK 1.0/1.1 的Stack很奇怪,竟然不是用Vector来构建Stack,而是继承Vector。所以它拥有Vector所有的特点和行为,再加上一些额外的Stack行为。这是一个糟糕的设计,你永远都不应该使用它。 ——Thinking in Java自实现Stack所以,目前都是自实现栈,自实现栈有两种常见的方式,一种是使用链表,另一种是使用数组。数组的原创 2020-01-02 10:02:55 · 115 阅读 · 2 评论