JAVA 笔记(六)

  1. 局部内部类访问局部变量必须用fianl修饰(局部变量是随着方法的调用而调用,随着方法的调用完毕而消失。而堆内存的内容并不会立即消失,所以要加final修饰。加入final修饰后,这个变量就成了常量,既然是常量,你消失了,我在内存中存储的是数据而不是变量,所以,我还是有数据在使用。)
  2. 匿名内部类就是内部类的简化写法。前提是存在一个类(具体类或者抽象类)或者接口。
  3. 接口中的方法默认都是都是抽象的。
  4. 匿名内部类的格式:new 类名或者接口名(){重写方法;}(它的本质是继承了该类或者实现了该接口的子类匿名对象)
  5. 注意每一次重写接口中的方法的时候其访问权限都是public(因为接口的默认访问修饰符就是public,所以实现类的访问权限不能降低)。
  6. 链式编程:对象.方法1().方法2().......方法n();这种用法:其实在方法1()调用完毕后,应该一个对象;方法2()调用完毕后,应该返回一个对象。方法n()调用完毕后,可能是对象,也可以不是对象。
  7. 集成开发环境(IDE)。低编译,高运行。
  8. Alt+/(内容辅助键)A;main+alt+/(回车就是main方法)B:syso+alt+/(输出语句)c;提示作用;
  9. 常用快捷键:格式化(ctrl+shift+f)导包(ctrl+shift+o);
  10. 注释:单行(ctrl+/,取消再按一次)多行(ctrl+shift+/,取消ctrl+shift+\),上下移动代码(alt+上下箭头)查看源码(选中类名+f3或者ctrl+鼠标点击)
  11. 该文件名称无效,得改里面的配置文件。
  12. 断点调试中f6是逐步进行的。(Debug)
  13. hashCode()返回哈希值(一个整数)。哈希值是通过哈希算法计算出来的一个值。这个值跟地址值有关,但是不是地址值。你可以理解为地址值。(object类中。Object在lang包中)
  14. getClass():返回object的运行时类(返回类型是Class类)(返回对象的字节码文件对象)
  15. Integer类中的静态方法toHexString(int i)(把一个整数转换成一个十六进制的字符串)
  16. 建议所有的子类都都重写toString()方法,把该类所有成员变量的值返回即可。(返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示)
  17. 直接输出一个对象名称,其实就是调用该对象的toString()方法。
  18. ==:基本类型:比较的值是否相等。引用类型:比较的是地址值是否相等。
  19. Equals()方法默认情况下比较的是地址值。(这是object类中的)所以子类要重写该方法。String类中的equals()方法重写之后比较的就是内容。
  20. 判断该对象是否是该类的对象(对象名 instanceof 类名)
  21. Finalize():当垃圾回收器确定不存在该对象的更多引用,由对象的垃圾回收器调用此方法,用于垃圾回收,但是何时会回收不确定。
  22. Clone():创建并返回此对象的一个副本(返回类型是object)(上述两个方法都是object类中的),要想克隆还要实现Cloneable接口,该接口中没有方法,属于标记接口。
  23. (以上红色标记是object类中的)
  24. hasNextXxx():判断是否是某种类型的元素。(返回类型是boolean) nextXxx():获取改元素。(这是scanner类中的方法)
  25. System.in这个东西,它其实是标准的输入流,对应于键盘录入
  26. 同一个Scanner对象,先获取数值,再获取字符串会出现一个小问题。解决方案:a:重新定义一个Scanner对象b:把所有的数据都用字符串获取,然后再进行相应的转换
  27. 字符串就是右多个字符组成的一串数据,也可以看做是一个字符数组。字符串子面值“abc”,也可以看成是一个字符串对象,字符串是常量,一旦被赋值,就不能更改。(是值不能改变,而引用却可以改变)。
  28. 构造方法:A:public String()B:public String(byte[] bytes) C:public String(byte[] bytes,int offset,int length) D:public String(char[] value) E:public String(char[] value,int offset,int count) F:public String(String original) 下面的这一个虽然不是构造方法,但是结果也是一个字符串对象G:String s = "hello";
  29. 将字节数组(里面是数字)转换成字符串的话,那么输出的是对应的字母(ASIIC)
  30. Public String(Sting original)(这个string的构造方法没有太大意义)把字符串常量值转换成字符串。
  31. 字符串直接赋值的方式是先到方法区中的字符常量池里面去找,如果有就直接返回,没有,就创建并返回。
  32. 字符串如果是变量是先开空间再拼接。如果是常量,现拼接,然后在字符串常量池中找,如果有就直接返回,没有在创建。
  33. 字符串内容为空和字符串对象为空(String s=””; String s=null;)字符串为空是有对象而没有内容,而字符串对象为空就是连对象都没有,所以也不能调用方法,否则就会空指针异常。
  34. Contains()方法包含必须是连在一起的而且存在的才是true。
  35. 断点加在每一个方法的第一条有效语句上。
  36. 字符串的截取函数SubSting()是左闭右开的,既包括左边start,而不包括右边end.
  37. String的判断功能,获取功能。转换功能。
  38. Concat(string str)这是字符串拼接的函数,当然也可以用加号连接。
  39. Replace()替换函数是后面的参数替换前面的参数。
  40. 按字典顺序比较两个字符串,返回值是int类型compareTo();找到第一个不同的字符后,第一个减去第二个所得的值(ascii).对于某个字符串是该字符串的子串的时候,返回的结果值其实是长度相减。例如:hello和hel,比较之后返回的是2.-------->待续
posted on 2016-04-07 13:56  doAction  阅读(308)  评论(0编辑  收藏  举报