![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础学习
一个java小白的成长记录
这个作者很懒,什么都没留下…
展开
-
Java泛型通配符extends与super
Java 泛型关键字说明 ? 通配符类型 <? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类 <? super T> 表示类型下界(Java Core中叫超类型限定),表示参数化类型是此类型的超类型(父类型),直至Object extends 示例static class Food{}static class Fruit extends Food{}st转载 2016-10-09 15:29:03 · 320 阅读 · 0 评论 -
Java中函数参数的传递是值传递还是引用传递
Java中函数参数的传递是值传递还是引用传递? Java中参数传递时传递到函数中的参数都是原变量的一份拷贝,对于非类类型如int,float等,这份拷贝自然和原变量脱离了关系,这不难理解; 而对于类的实例而言,这份拷贝恰巧是实例引用的拷贝,它(参数)指向的实例地址和原实例引用指向的实例地址都是一样的,因此对参数的修改有时也会影响到实例本身,故此造成了Java传递类实例是传递的引用即地址的假象,如下转载 2016-09-13 17:10:10 · 487 阅读 · 0 评论 -
论integer是地址传递还是值传递
论integer是地址传递还是值传递 Integer 作为传参的时候是地址传递,可以参考如下例子,在程序刚启动的时候把 Integer 的index 对象锁住 ,并且调用了 wait方法,释放了锁的资源,等待notify,最后过了5秒钟,等待testObject 调用notify 方法就继续执行了。大家都知道锁的对象和释放的对象必须是同一个,否则会抛出 java.lang.IllegalMonit转载 2016-07-29 16:13:30 · 2711 阅读 · 0 评论 -
Java几种常见的编码格式
ASCII 码 学过计算机的人都知道 ASCII 码,总共有 128 个,用一个字节的低 7 位表示,0~31 是控制字符如换行回车删除等;32~126 是打印字符,可以通过键盘输入并且能够显示出来。 ISO-8859-1 128 个字符显然是不够用的,于是 ISO 组织在 ASCII 码基础上又制定了一些列标准用来扩展 ASCII 编码,它们是 ISO-8859-1~ISO-8859-转载 2016-07-28 20:47:59 · 363 阅读 · 0 评论 -
继承中的初始化问题
本文章重点比较了一下含有static关键词的继承关系中的初始化顺序问题,现在直接贴出需要的代码:public class Apple { static private int i = 0;//只初始化一次:只有第一次新建对象时会执行 private int k;//每次都要进行初始化 private String s; public Apple(){原创 2016-04-08 21:59:09 · 439 阅读 · 0 评论 -
java中super和this用法总结
一:this 第一、通过this调用另一个构造方法,用法是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。 第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this,用了也不为错,呵呵。转载 2016-04-20 16:08:02 · 348 阅读 · 0 评论 -
在类中创建本类对象(与枚举类似)
/** * 类中实例化本类必须要用static关键词修饰,否则会陷入无限迭代 * 这个例子也解释了枚举类的构造器中为什么不能引用static变量 * */class A { /** * 本句话的解释: * 执行到这句话时会跳过本句话后static修饰的域的初始化, * 但是普通的域初始化不会跳过,然后再调用本类构造器 */ publi原创 2016-04-15 10:26:15 · 2848 阅读 · 0 评论 -
Java编程:组合、继承和代理的区别
组合、继承和代理三者的定义:组合:在新类中new 另外一个类的对象,以添加该对象的特性。 继承:从基类继承得到子类,获得基类的特性。 代理:在代理类中创建某功能的类,调用类的一些方法以获得该类的部分特性。 使用场合: 组合:各部件之间没什么关系,只需要组合即可。like组装电脑,需要new CPU(),new RAM(),new Disk()…… 演示代码如下: public clas转载 2016-04-09 21:07:30 · 1684 阅读 · 0 评论 -
java默认初始化
不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。 1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。2、单精度浮点型(float)的基本类型变量的默认值为0.0f。3、双精度浮点型(double)的基本类型变量的默认值为0.0d。4、字符型(char)的基本类型变量的默认为 “/u0000”。5、布尔性的基本类型变量的默认值为 false转载 2016-04-13 10:33:05 · 1416 阅读 · 0 评论 -
final和static final之间的区别
final修饰的变量一旦初始化就不能被改变,但每次创建对象都会被初始化 static final修饰的变量只能被初始化一次,而且一旦初始化就不能被改变原创 2016-04-12 20:30:05 · 428 阅读 · 0 评论 -
foreach语句和传统的for循环语句区别
现在比较一下两段相似的代码 foreach语句Connection[] pool = new Connection[10];for(Connection conn : pool){ conn = new Connection();其中Connection是已定义的一个类for语句Connection[] pool = new Connection[10];for(int i = 0;原创 2016-04-07 14:33:50 · 722 阅读 · 1 评论 -
Java参数传递
java参数传递原创 2016-04-05 19:34:45 · 340 阅读 · 0 评论 -
正则表达式之 贪婪与非贪婪模式详解(概述)
1 概述 贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配。非贪婪模式只被部分NFA引擎所支持。 属于贪婪模式的量词,也叫做匹配优先量词,包括: “{m,n}”、“{m,}”、“?”、“*”和“+”。 在一些使用NFA引擎的语言中,在匹配优先量词后加上“?”,即变成属于非贪婪模式的量转载 2017-04-02 17:36:35 · 21600 阅读 · 3 评论