1、在Java中可以用两种方式来创建线程,分别是继承父类Thread和实现Runnable接口,启动线程的方法是start,线程启动后运行的run方法里的代码。
2、如果自行构建的一个Java类想要自定义判断对象相等的规则,则需要重写其hashCode 方法,同时还需要重写他的equals方法。
3、事件处理方式采用了observer(观察者)设计模式,事件编程三要素是事件源、事件对象和监听者。
4、如果你想将一组对象按一定顺序存取,在不考虑并发访问的情况下会使用ArrayList,反之则会使用Vector;
如果你想存储一组无序但唯一的对象,你会使用HashSet;
如果你想按关键字对对象进行存取,在不考虑并发访问的情况下会使用HashMap,反之则会使用HashTable。
5、在一个java源文件中的三个顶级元素,按顺序分别是package,import,class。
6、Java方法的参数传递对于基本数据类型如int,byte等,参数传递是值传递,对自定义数据类型,参数传递是引用传递。
7、并发控制是多线程编程的难点。一个线程要等待某个条件的满足,调用方法wait,通知某一个处于等待状态线程的方法是notify,通知多个的是notifyAll;处于等待状态的线程当前调用的方法或程序块用关键字synchronized来限制。一段线程不安全的代码,使用synchronized关键字实现代码块单线程运行。运行中线程等待另一个线程结束调用线程的join方法。暂时让出执行权调用yield方法。
8、对原始数据的读写,采用流InputStream和OutputStream,为了提高性能,采用流BufferedInputStream和BufferedOutputStream。
9.方法的重载Overloading:
条件:
1)方法名必须相同(在同一类中);
2)参数列表必须不同(参数个数不同,参数类型不同,参数顺序不同);
3)返回类型无关紧要(相同不相同均可);
10.方法的重写Overriding:
条件:
1)重写发生在子父类之间,同一类中的方法不能被重写只能被重载。
2)重写方法和被重写方法要保证具有相同的方法名字、参数列表、返回类型;
3)重写方法不能具有比被重写方法更严格的访问权限;
4)重写方法不能抛出比被重写方法范围更大的异常;
5)静态方法的重写:父类的静态方法可以被子类同名的静态方法重写,此时隐藏了父类的方法;父类的静态方法不能被子类非静态的方法重写(编译错误);父类非静态的方法不能被子类重写为静态方法;
11.构造方法是一个特殊的方法,方法名和类名相同,无返回类型;
构造方法在创建所属类型的对象时使用,作用就是创建一个对象,构造方法中的代码一般做一些初始化工作;
每个类都有一个构造方法,如果类中没有定义构造方法,那么系统将自动为其提供一个缺省的无参构造方法;
当一个类中定义了一个或者多个构造方法,那么系统将不再提供缺省的无参构造方法;
12.switch语句支持int,byte,short,char,枚举,类类型之一
13.一维数组的声明,初始化
14.标识符