一个 .java 源文件是否可以包含多个类,但只能有一个是 public 的类 而且这个 public 类必须与文件名一样
1、面向对象(封装、抽象、继承、多态)
接口的特点:(一个类可以实现多个接口但是只能继承一个抽象类)
- 不能实例化
- 没有构造体
- 所有方法都是抽象的 (abstract).同时也是隐式的 public. 也就是说声明时, 可以省略 public abstract.
- 只能含有声明为 final static 的 field
继承:
final 类是不能被继承的 这个类就是最终的了 不需要再继承修改 比如很多 java 标准库就是 final 类
final 方法不能被子方法重写
final + static 变量表示常量
多态:
- 重载overloading
一个类里面有两个或者更多的函数,名字相同而他们的参数不同;
- 覆写overriding
发生在子类中,必须有继承的情况下才会有覆盖的发生
2、平台独立(最重要)
3、解释性语言(最准确)
4、多线程
5、Just-In-Time (即时) 编译器(高效)
JDK
Java Development Kit 用作开发, 包含了JRE, 编译器和其他的工具(比如: JavaDoc,Java调试器), 可以让开发者开发、编译、执行Java应用程序.
JRE
Java 运行时环境是将要执行 Java 程序的 Java 虚拟机, 可以想象成它是一个容器, JVM 是它的内容.
JRE = JVM + Java Packages Classes(like util, math, lang, awt,swing etc)+runtime libraries.
JVM
Java virtual machine (Java 虚拟机) 是一个可以执行 Java 编译产生的 Java class 文件 (bytecode) 的虚拟机进程, 是一个纯的运行环境.