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. maven插件打包可执行jar

    pom文件加 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</grou ...

  2. NetCore1.1+Linux部署初体验

    1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.Net Core 3.Centaos安装netco ...

  3. 原生javascript实现网页显示日期时钟效果

    刚接触javascript中Date内置对象时,以为这些方法都太简单了,结果要自己实际操作写一个时钟效果还真一时把我难住了,主要有几点大家要注意的.先看实际效果 要实现这样的效果 某年某月某日星期几几 ...

  4. ViewPager实现无限轮播踩坑记

    最近笔者想通过ViewPager来实现一个广告Banner,并实现无限轮播的效果,但是在这个过程中踩了不少的坑,听我慢慢道来.如果大家有遇到和我一样的情况,可以参考我的解决方法,没有那就更好,如果针对 ...

  5. python 标准库 -- multiprocessing

    multiprocessing 与 threading.Thread 类似 multiprocessing.Process 创建进程, 该进程可以运行用 python 编写的函数. multiproc ...

  6. CSS3 @keyframes 规则

    今天来给大家分享一下CSS3 @keyframes 规则! 在你了解CSS3 @keyframes 规则时我先来给大家说说什么是css3中的动画 动画是使元素从一种样式逐渐变化为另一种样式的效果. 您 ...

  7. Paxos Made Simple(译)

    The Paxos algorithm, when presented in plain English, is very simple. 我叫Leslie Lamport,我最屌. 1. 简介 用于 ...

  8. An abandoned sentiment from past

    An abandoned sentiment from past time limit per test 1 second memory limit per test 256 megabytes in ...

  9. 【DG】[三思笔记]一步一步学DataGuard

    [DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...

  10. 基于两种架构的ETL实现及ETL工具选型策略

    企业信息化建设过程中,业务系统各自为政.相互独立造成的"数据孤岛"现象尤为普遍,业务不集成.流程不互通.数据不共享--.这给企业进行数据的分析利用.报表开发等带来了巨大困难.在此情 ...