1.StringTokenizer str = new StringTokenizer("字符串");   str.countTokns();   //可得出字符串非连续的个数(可用于单词数的计算)

 String不可直接用下标法访问字符,用str.charAt(下标);

 str.substring(起始下标,末尾下标),该方法表示截取起始(包括)到末尾(不包括)下标间的相应字符;

 (1 + 2 + "3")的值为 33 ; (”1“ + 2 + 3)的值为123,正常从左往右运行;

2.java不写类的构造方法时会默认构造无参方法,构造了有参构造方法后要把无参的构造方法也写出来。

3.引用类型的数据字段的缺省值为“null”

 修饰符的缺省值是“default”,表示同一包中的类可访问

 protected:同一包的类和子类可访问

 public:所有都可访问

 private:同一个类中可访问

4.接口:

 *  接口的成员变量隐含的声明为public static final,成员方法被隐含的声明为public abstract;

 *  接口中只能有抽象方法,抽象类中必须有抽象方法,但也可以有非抽象方法,抽象方法只含方法名,不含方法体;

 *  抽象类不可被实例化,即不能被new;

 *  接口只能由接口继承,非接口的类只能实现接口,并且没有实现接口内所有方法的类必须声明为抽象类。

 *  类的实例中,只有大的类能实例小(等)的类,虽然小的类可以通过强制转换指向大类(无代码错误提示),但是在运行时会抛出异常;

 *  Integer,Double,String类实现了Comparable接口,Object是老大啥都不实现

5.三目运算符x?y:z的输出结果跟y,z的类型有关,会转化为y,z中的大类型,如 (2<1?)1.0:1 的输出结果为1.0

 String虽然是引用类型,但是它储存在常量池,所有在传递时是值传递,并且要用StringBuffer才能改变其值;

 null是一个String对象,祖先类都是Object,即是其的一个实例

6.java的三大特性:封装,继承,多态,多态体现在覆盖。

 方法覆盖:方法名及其参数,返回值都与父类相同

 方法重载:方法名相同,传入参数不同。

6.static定义的变量属于整个类,不能用于局部变量,方法体内的静态变量,也就是常量,只能用final修饰。

 static定义的方法(静态方法)只能用于不用实例即可调用,非晶态方法只能通过实例化对象调用。

 GUI控件的事件处理中,事件源与监听器之间的关系是多对多。

7.编译错误是指语法上的错误,运行错误指语法上无误,但是运行代码后会报异常; 

8.switch()语句中表达式的类型可以是char、byte、short、int  

9.字符串与int,double 的转换

 Integer.valueOf(str);  Integer.parseInt(str);

       (Double类似)

 String.valueOf(int);  Integer.toString();

       (Double类似)

10.throw是用于手动抛出异常对象,throws用于回避异常对象,Error,Exception,Throwable可用于throw语句。

 内部类可以引用外部类的成员变量,但当要引用外部类成员方法中的变量时,需要保证变量为终端变量(即用final修饰)【不能引用另一方法中定义的内部类中的非终端变量】

11. 发生方法覆盖的条件:
 *     第一: 发生在具有继承关系的两个类之间
 *     第二: 必须具有相同的方法名,相同的返回值类型,相同的参数列表(如果是参数列表不同,系统就会认为这两个是不同的方法进行重载)
 *        (返回值代表了函数的功能,复写不能更改函数的功能)
 *     第三: 重写的方法不能比被重写的方法拥有更低的访问权限
 *     第四: 重写的方法不能比被重写的方法抛出更广泛的异常
 *     第五: 私有的方法不能被覆盖
 *        不调用的时候就没有报错
 *        调用的时候才会报错,说明,这个方法是运行时错误
 *     第六: 构造方法无法被覆盖,因为构造方法无法被继承
 *     第七: 静态的方法不存在被覆盖
 *        因为,静态方法进来以后,不会再有新的内存操作,所以,就没有覆盖这一说
 *     第八: 覆盖值得是成员方法,和成员变量无关
 *        成员变量,是指这个类代表的所有个体的共有属性,只是属性值不一样

12.final和static的区别:

  static不能修饰类,只能修饰类成员变量和方法,同时其修饰的值可以被继承,不能被覆盖,可以被重载。

  final修饰的方法可以被继承,不能被覆盖,可以被重载;final类不能被继承。

  共同点:都不能被重写(覆盖),但能被重载。

13.四个修饰符的访问权限:

   -----------------------------------------------

                        类内部     package内           子类          其他

  public            允许        允许                 允许          允许

  protected      允许         允许                 允许         不允许

  default          允许         允许                 不允许      不允许

  private          允许         不允许             不允许      不允许 (不允许用于类的修饰)

  ----------------------------------------------

 

Java复习随笔的更多相关文章

  1. java 复习003 之排序篇

    由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; ...

  2. java 复习001

    java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时 ...

  3. java复习(1)---java与C++区别

    [系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用 ...

  4. Java复习11. 单例编程

    Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton {     private static Singleton instance; ...

  5. Java复习9网路编程

    Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnecti ...

  6. Java复习8.多线程

    Java复习8 多线程知识 20131007 前言: 在Java中本身就是支持多线程程序的,而不是像C++那样,对于多线程的程序,需要调用操作系统的API 接口去实现多线程的程序,而Java是支持多线 ...

  7. Java复习10.Servlet编程

    Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面 ...

  8. Java复习6异常处理

    Java复习6.异常处理 20131005 前言: Java中的异常处理机制是非常强大的,相比C++ 来说,更加系统.但是我们开发人员没有很好的使用这一点.一些小的程序是没有什么问题的,但是对于大型项 ...

  9. Java复习4.数组初始化.

    Java复习4.Java中的数组声明方式  20131004 1.数组声明和初始化, 数组元素和变量一样,可以在定义的时候i进行初始化.数组元素的初始化工作实在编译阶段完成的,可以减少运行时间. 在初 ...

随机推荐

  1. 1.JAVA WEB 笔记中文乱码

    JAVA WEB 乱码问题解析 乱码原因 在Java Web开发过程中,经常遇到乱码的问题,造成乱码的原因,概括起来就是对字符编码和解码的方式不匹配. 既然乱码的原因是字符编码与解码的方式不匹配,那么 ...

  2. Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)

    最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所 ...

  3. .NET中使用Redis总结

    注:关于如何在windows,linux下配置redis,详见这篇文章:) 启动遇到问题 使用命令[redis-server.exe redis.windows.conf],启动redis 服务[如果 ...

  4. [1] 插件架构(PLUG-IN)

    网上的一种比较好对插件的定义是:插件(Plug-in,又称addin.add-in.addon或add-on,又译外挂)也称为扩展,是一种遵循一定规范的应用程序接口编写出来的程序,主要是用来扩展软件功 ...

  5. 静态库 .a 转成共享库 .so

    .a 是有一系列 .o 文件通过 ar 程序打包在一起的静态库,要把它转成动态库只需先解开,生成一堆 .o 文件,再通过编译器(比如 gcc 或 ifort,视具体情况而定)编成动态库即可. ar - ...

  6. SICP-1.7-递归函数

    递归函数 函数内部直接或间接的调用函数自身 将复杂问题简单化 例子程序 def sum_digits(n): """Return the sum of the digit ...

  7. PHP基础入门(四)---PHP数组实用基础知识

    PHP数组 数组是特殊的变量,它可以同时保存一个以上的值. ***关键词:数组基础.数组遍历.超全局数组.数组功能.数组函数. 下面来和大家分享一下有关PHP的数组基础知识,希望对你PHP的学习有所帮 ...

  8. Linux: Bash基本命令

    切换目录 cd 查看当前目录 pwd 生成目录 mkdir 搜索文件 查看当前的文件 ls 删除文件但保留特定类型 rm !(**) 例如: rm !(.tex|*.eps)其中,.tex, .eps ...

  9. 【原创】Kafka Consumer多线程实例续篇

    在上一篇<Kafka Consumer多线程实例>中我们讨论了KafkaConsumer多线程的两种写法:多KafkaConsumer多线程以及单KafkaConsumer多线程.在第二种 ...

  10. 多个form表单的提交

    if(zhengchang_stop&&no_zhengchang_wancheng&&respon_info_lists){ $('form[name="f ...