随笔分类 - Java编程思想总结
摘要:Object.hasCode()默认使用对象的地址计算散列码。 Object.equals()默认比较对象地址。 一、散列与散列码 Hash结构容器散列原理(大致的原理,没有必要较真) 数组保存ArrayList的引用,散列码就是数组的下标值。存储元素时计算散列码,找到元素所属List,用该对象eq
阅读全文
摘要:感觉这一章有点散,还是来说一下需要注意的点吧。 一、数组知识点 1、数组的初始化方式 数组分配空间,但是没有初始化,就是默认0值。 2、数组与容器的不同点 数组进行这样的向上转型是合法的,而List这样转型不合法,因为List<Fruit>与ArrayList<Apple>根本不是子类与父类的关系。
阅读全文
摘要:泛型这一章不知道是因为翻译的原因还是什么,感觉《编程思想》讲的混乱无比。花了很多的时间研究泛型,现在力求用最简单的语言,最简明的示例把这一章说清楚。 前言 还是要来区分一下细节的概念,对理解泛型影响还是蛮大的。 1、<T>与不在<>中的T的区别 输出结果: test 结果分析:<T>这里的T叫类型参
阅读全文
摘要:前言 在开始介绍类型信息之前一定要区分一些概念: 1、静态类型语言与动态类型语言 静态类型语言:在编译期进行类型检查的语言(例如,Java)。(例如 int i = 3;) 动态类型语言:在运行期进行类型检查的语言(例如,JavaScript)。最明显的特征为变量没有类型值有类型(如,var=3;)
阅读全文
摘要:一、Scanner简述 Scanner扫描器类本质上是由正则表达式实现的,可以接受任何能产生数据的数据源对象,默认以空白符进行分词(包括\n等),使用各种next方法进行扫描匹配,获取匹配的数据。 二、使用实例 1、示例一:从控制台读取数据 输出结果: Hello world(输入)Hello wo
阅读全文
摘要:一、正则表达式的“\”问题 在Java的字符串中"\"有两个功能 (一)代表特殊字符:\t代表制表符,\n代表换行....等。 (二)代表转义: 在字符串中,如果出现 \ 及 " 等会造成代码歧义,所以要用\"进行转义 在Java的正则表达式中\也是表示两个功能 (一)代表特殊功能的字符:如\d代表
阅读全文
摘要:格式化输出这一部分的内容非常锁碎,掌握基础就好,用到什么查什么就好了。 Formatter类 1、常规类型、字符类型和数值类型的格式说明符的语法如下: 可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,
阅读全文
摘要:这一节来学习String的特性和方法。 一、String对象的不变性 不变性:String对象是由一个final char[] value 数组实现的,因此String对象是不可变的。任何看起来改变String对象的行为,其实质就是创建了一个新的对象。 示例一: 输出结果: s1: abcs2: A
阅读全文
摘要:一、异常与记录日志 import java.io.PrintWriter; import java.io.StringWriter; import java.util.logging.Logger; class LoggingException extends Exception{ private
阅读全文
摘要:一、异常基本概念简介 1、“异常”的理解 异常和语法错误是不一样的,语法错误程序会马上又小红点,但是异常是可能会发生的不一定发生的“不好的事情”。 2、Java的异常机制 Java异常使用终止模型,即假设“不好的事情”非常非常“关键,一旦发生“不好的事情”,就不可以在回到异常抛出点继续执行。 Jav
阅读全文
摘要:哇,这一章真的是好混乱啊。 首先,要弄明白这些类的层次关系,层次关系错综复杂,只要知道主要的就好,去看jdk文档趴。 这一章的目的主要熟悉各种接口,为后面的内容做铺垫。 一、Collection接口 Collection接口是List、Queue、Set接口的基类。他们分别有不同的抽象类实现,Abs
阅读全文
摘要:不得不说,编程思想真本书的信息量是真的大,有相当多的东西,非常的细节,必须要自己总结之后才会发现收获。 一定要注意书中外部类和外围类的区别。 class AA { class BB {} } class CC {} AA类与CC类都是外部类,但是只有AA叫外围类。 一、类中的内部类 首先很重要的一点
阅读全文
摘要:1、多态:接口元素(就是方法)的多种实现方式,表现在重载、覆盖。 2、只有普通的方法支持覆盖,被private和static修饰的方法,以及域都看不到覆盖效果。 3、接口中所有的方法都是public的,接口方法被定义时也必须是public的。 4、接口中的域都是static final的 5、接口的
阅读全文
摘要:继承:可以得到基类中的所有可以被子类访问的成员。强调可以被访问的成员,是因为基类的private成员不可得到,对于不同包中基类的friendly成员也是不可得的 1.组合描述的是“有一个的关系”,比如汽车类和车轮类,汽车含有车轮;继承描述“是一个”的关系,水果类和香蕉类,香蕉是一种水果 2.如果基类
阅读全文
摘要:这一章都是在说public、protected、friendly(即默认)、private的区别 1.首先,区分修饰词修饰类和成员的差别 (1)类只能要么被public修饰,要么啥都没有即默认(包访问权限);(这一条不包括内部类) (2)类的成员可以被public、protected、private
阅读全文
摘要:1.初始化,变量初始化优先于方法,静态类型与非静态类型初始化的差别在于,前者发生在类加载阶段,而后者发生在创建对象的阶段。 2.数组初始化三种方法: (1)int[] a = {1, 2, 3}; 只能用于定义时初始化,这种方法不够灵活 (2)int[] a = new int[]{ 1, 2 ,3
阅读全文
摘要:1、java不准许将一个数字作为布尔值。 2、区分break和continue continue跳过一次循环,break跳出整个循环 continue跳到循环顶部的行为会使得i值递增,break从循环块外的下一句开始执行,不会有i值递增 实例: 结果:break_i = 9 continue_i =
阅读全文
摘要:自增自减运算,这个位置相当容易错。不过其实也很简单,前向自增自减如(++i)是先做运算,在使用i的值;后向自增自减则是在使用完i的当前值在对i进行运算。 ==和equals()的区别是非常重要的。 ==比较的是引用 equals()方法比较的是实际内容,但是要注意,equals()方法默认是比较引用
阅读全文
摘要:在这里总结一下,第二章需要掌握和注意的地方。 这里是我认为在第二章中需要注意的地方。
阅读全文

浙公网安备 33010602011771号