1、 可以出现在类class之前的访问控制符:public和default。
可以出现在类中的成员变量和成员方法前的访问控制符:public、protected、default和private。
Public:所有的类都可以访问;
Protected:在同一个包中的类可用,也可以在位于其他包中的子类可用;
Default:仅可以在同一包中的类可用;
Private:只能在类的内部使用。
2、 重载(overload)就是在一个类中,有相同函数(成员方法method)名称,但是形参不同的方法(个数不同、类型不同)。
3、 Java虚拟机在运行时,系统会自动导入java.lang包,其他包都需要手动导入
4、 构造器(constructor)构造器与类名相同;一个类中可以有多个不同的构造器;没有返回值,但是不用写void;总是和new运算符一起调用。
创建子类对象时,先执行父类构造器,在执行子类构造器,完成对象的创建。调用父类的构造器,初始化继承自父类的成员变量和成员方法,随后子类构造器初始化子类的成员变量和成员方法。
5、 使用this代替引用对象本身,用this()代替引用对象的构造器;
使用super代表父类,super()代表父类的构造器。
6、 针对同一个方法函数,在子类中的权限比父类中的大或者同样大小。
7、 类与类之间的关系:依赖(use-a)、继承(is-a)、集合(has-a)、泛化、组合
8、 接口中只有方法名,没有方法体。实现接口的类时,其访问控制符必须全部是public。在java中可以实现(implement)多个接口(interface),但是是单继承。
9、 由于接口不是一个类,所以不能用new生成一个接口的实例,但是可以声明一个接口变量,如果要生成一个接口的实例,可以让其指向接口变量,指向一个已经实现此接口的类的对象。
接口中不能声明实例字段和静态(static)方法,可以声明常量。
接口也是可以继承的。
10、 内部类的好处:内部类的对象可以访问创建它的对象的所有方法和属性,包括私有数据;对于同一个外包中的其他类来说,内部类是隐形的;匿名内部类可以很方便的定义回调;内部类可以方便的编写事件驱动的程序。
内部类的访问控制符可以是private
11、 静态内部类,当一个内部类不需要引用它的外部类的方法、属性值时,可以将这个类设置为static。既然是静态的,包含他的类要引用它时,就可以不必创建对象,直接引用。在静态内部类中只能访问外部类的静态成员。
内部类不一定要取名字,可以直接以对象名来代替。
12、 java中创建线程的方法一般有两种:通过实现Runnable接口的方式;通过从Thread类去继承来创建线程
线程通常是抢占式的,不需要时间片分配。可调用setPriority()方法设置线程的优先级,具体方法public final void setPriority(int newPriority)取1~10之间整数,越大等级就越高,默认是5。
线程睡眠sleep()在run()中,唤醒interrupt(),线程让步yield()在run()中。