Java基础知识复习(一)
原文链接 http://tblxdezhu.github.io/java/2016/09/12/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E5%A4%8D%E4%B9%A0(%E4%B8%80).html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
1.Java与C++的异同
- Java解释性语言:源代码-编译器(字节码)-JVM执行 C/C++编译型语言:编译链接成二进制代码
- Java不存在全局变量,全局函数,没有指针,不支持多重继承,不支持运算符重载,没有预处理器,不提供goto语句(但保留关键字),不支持自动强制类型转换,必须显式强制类型转换。
- Java为纯面向对象语言,所有代码包括函数,变量等都属于类
2.关于
public static void main(String[] args)
main()方法必须返回值为void,并且有static和public关键字。
- public与static没有先后顺序
- main()方法可以定义为final,可以用synchronized修饰
- 不能用abstract修饰main()
- 每个类都可以定义main()方法,但是只有
[x]与文件名相同
[x] 用public修饰的类中的main()方法才是程序的入口方法。
3.Java程序初始化顺序
实例化对象时,对象所在类的所有成员变量首先按照顺序进行初始化(即使变量定义散布于方法定义中),它们仍然在任何方法(包括构造函数)被调用之前初始化
不同代码块执行顺序:
父类静态变量—父类静态代码块—子类静态变量—子类静态代码块—父类非静态变量—父类非静态代码块—父类构造函数—子类非静态变量— 子类非静态代码块—子类构造函数