一、java语言特性
1.平台无关性(java语言最大优势)
2.面向对象
1)封装:将数据和对数据的操作封装在一起。
2)继承:子类可以继承父类的属性和功能(数据和对数据的操作),又增加了子类独有的数据和数据上的操作。
3)多态:一,操作名称多态:有多个操作具有相同名字,但操作接受的消息信息不同;二,继承有关的多态:同一个操作被不同类型调用可能产生不同的行为。
3.多线程:内置对多线程的支持,允许同时完成多个任务(处理器在不同线程之间快速切换)
4.安全;5.动态
二、java运行机制
编译型语言:一次性编译成机器码(可脱离开发环境独立运行)
解释型语言:每执行一次都需要进行一次编译(跨平台较容易)
对java而言,源程序先被编译成与平台无关的字节码(.class文件(这种字节码不可执行)),然后必须用java解释器来解释执行。
所以java语言既是编译型语言又是解释型语言(或者既不是编译型语言又不是解释型语言)。
三、jvm、jdk、jre
1.JVM(Java Virtual Machine):java虚拟机,保证语言跨平台
2.JDK(Java Development Kit):Java开发环境
3.JRE(Java Running Enviroment):Java运行环境
java程序开发步骤:
编写源程序-->编译源程序文件生成字节码(生成.class文件)-->加载运行字节码(运行.class文件)
四、java源程序
1.命名规则:
1):如果源文件中有多个类,那么只能有一个类是public类
2):如果有一个类是public类,则源文件文件名必须与public类类名相同
3):如果没有类是public类,则源文件名只需要与某个类类名相同即可
2.编译java程序
在系统中设置path路径,为了能在任何目录中使用编译器和解释器。
如果源程序中包含多个类,则被编译后每个类都会生成一个字节码(.class文件);如果对源文件进行了修改,则需要重新编译再生成新的字节码文件。
3运行java程序
Java程序必须通过Java解释器(javac.exe)从主类的main方法来解释执行字节码文件。
类中main方法格式:public static void main(String[] args)。java虚拟机先将字节码文件加载到内存中然后解释、执行字节码文件。若某个类中没有main方法,则该类不会被加载到内存中;若类中含有main方法,则被加载到内存时,就为主类中的main方法分配了入口地址。
当main方法写成:public void main(String[] args)编译可以通过,但运行会报错(若主方法掉了static,则虚拟机不会为主方法分配入口地址,java解释器就找不到主方法)。