类和对象
对象:对象是类的一个实例,有状态和行为。
创建对象:声明,new 实例化,调用构造方法初始化对象。
类:描述一类对象的行为和状态,是一个模板。
局部变量:声明在方法、构造方法或者语句块中。在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁。
成员变量:声明在一个类中,在方法、构造方法和语句块之外。在对象创建的时候创建,在对象被销毁的时候销毁。
类变量:静态变量,在类中以static关键字声明,在方法构造方法和语句块之外。常用于常量。静态变量在第一次被访问时创建,在程序结束时销毁。
抽象类:abstract class
不能实例化对象,必须被继承,只有抽象类的非抽象子类可以创建对象。
一个类只能继承一个抽象类,却能实现多个接口。
抽象类中的方法只是声明,不给出方法的具体实现功能。
抽象类的非抽象子类必须给出抽象类中的抽象方法的具体实现。
构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
抽象方法
抽象父类中定义,该方法的具体实现由子类确定。
抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
继承:extends
子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法。
重写和重载
重写:子类对父类中允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。
重载:在一个类里,方法名字相同,而参数不同。返回类型可以相同也可以不同。
多态
同一接口,使用不同的实例而执行不同操作。
三种实现方法:重写、接口、抽象类和抽象方法。
封装
减少耦合,类内部结构自由修改,接口调用,隐藏及控制变量信息。
接口:interface
抽象类型,是抽象方法的集合,接口中所有的方法必须是抽象方法。
一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口无法被实例化,非抽象类要定义接口中的所有方法。
类为单一继承,但接口允许多继承。
除了 static 和 final 变量外,接口不能包含其他成员变量。
多线程
线程是一个动态执行的过程,它也有一个从产生到死亡的过程。
生命周期:新建状态,就绪状态,运行状态,阻塞状态,死亡状态。
Java 提供了三种创建线程的方法:
-
通过实现 Runnable 接口;通过继承 Thread 类本身;通过 Callable 和 Future 创建线程。
-
采用实现 Runnable、Callable 接口的方式创建多线程时,线程类只是实现了 Runnable 接口或 Callable 接口,还可以继承其他类。
-
使用继承 Thread 类的方式创建多线程时,编写简单,如果需要访问当前线程,则无需使用 Thread.currentThread() 方法,直接使用 this 即可获得当前线程。
JVM 虚拟机
Java 语言使用 Java 虚拟机屏蔽了与具体平台相关的信息,使得 Java 语言编译程序只需生成在 Java 虚拟机上运行的目标代码,就可以在多种平台上不加修改地运行。
Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是 Java 的能够“一次编译,到处运行”的原因。
参考文章:Java 教程 http://www.runoob.com/java
网友评论