/ 前言 /
Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。
Java分为三个体系:
-
JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
-
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
-
JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。
/ 正文 /
Java语言的版本
-
Java SE包含标准的JDK、开发工具、运行时环境和类库。适合开发桌面应用程序和底层应用程序。同时它也是Java EE的基础平台。
-
Java EE采用标准化的模块组件,为企业级应用提供了标准平台,简化复杂的企业 级编程。并已经成为一种软件架构和企业级开发的设计思想。
-
Java ME包含高度优化精简的java运行时环境,专门针对一些小型的消费电子产品
Java语言是什么?它的主要特点?
• Sun的定义:
– 一种简单、面向对象、分布式、跨平台、半编译半解释、健壮、
安全、高性能、多线程的动态的语言。
– 实际上它不仅是一门语言,更是一个平台。它还提供了开发类库、运行环境、部署环境等一系列支持。
• 简单
• 跨平台
• 面向对象
• 分布式
• 半编译半解释
• 健壮
• 安全
• 性能很优异
• 多线程
• 动态
完全面向对象
-
Everything is object
-
继承 是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种 明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要
-
封装 是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面 向对象设计始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装 的对象,这些对象通过一个受保护的接口访问其他对象。
-
多态 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数 化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
-
抽象 就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意 与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分, 暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
-
面向对象的特征:
-
健壮
-
Java提供了自动垃圾收集机制来进行内存管理,并检测程序 对内存的访问,确定合法并不会引起任何问题后,才允许访问。
-
Java还提供了异常处理机制用来检查编译及运行时可能出现 的问题,帮助程序员消除错误,防止系统崩溃。
Java与C/C++的比较
-
自动内存管理:Java对于内存的分配是动态的,并具有垃圾 回收机制。
-
不在类外定义全局变量。
-
Java中将不再使用goto语句。
-
Java中取消了指针。
-
运行时系统对类型转换进行类型相容性检查
-
Java不支持头文件,使用import与其它类通讯。
-
Java中不包含结构和联合;所有的内容都封装在类中。
-
Java中不支持宏,它通过final关键字来声明一个常量。
-
Java不支持多重继承,可以通过Java中的接口实现多重继承 的功能。
JDK的开发环境配置
-
安装jdk1.8
-
配置环境变量:
-
JAVA_HOME: C:\Java\jdk1.8.0_04
-
Path:C:\Java\jdk1.8.0_04\bin(注意:要写在所有值的最前端否则找 不到该路径)
-
CLASSPATH: .这个“ . ”表示:指向当前目录。
-
在命令提示行下:javac -version 回车运行,如果能看到版本信息则OK.
-
第一个Java程序
public class HelloWorld {
public static void main(String args[ ]) {
System.out.println(“Hello World!”);
}
}
保存 HelloWorld 源代码
-
所有代码必须保存为扩展名 java,源文件名称必须和类名相同,class 关键字后面的即类名
-
正确的文件名为:HelloWorld.java
-
编译源代码:javac HelloWorld.java
-
运行程序:java HelloWorld
Java运行的原理
-
编译源文件:java源代码被java编译器编译(Compile)。如果这时产生错误,我们称为编译错误。如果没有错误,则生成字节码 (byte code)。
程序在操作系统中运行,最终都要变成为二进制的CPU指令,即本地代码(机器码)。这里的字节码和本地码都是二进制代码,很相似,只有略微区别。字节码是和平台无关的二进制代码,而本地代码则和平台密切相关。
-
运行字节码:这里,java字节码被装载到java虚拟机中,解释成本地代码再运行。如果此时产生错误,我们称之为运行时错误 (Runtime)。
注释的使用
1. 单行注释
// test
2. 多行注释
/*
* constructor
*/
3. 文档注释
/**
* @author qinjian
*/
空白符和行号
01 /*
02 * The traditional HelloWorld example
03 */
04
05 public class HelloWorld {
06
07 public static void main(String args[ ])
08
09 System.out.println(“Hello World!”);
10
11 }
12
13 }
第4行就是空白符,还有哪些空白符?
行号一般由编程工具自动生成,方便程序的调试。在书写源代码时不要录入行号!
修饰符
-
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。-
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
-
private : 在同一类内可见。使用对象:变量、方法。注意:不能修饰类(外部类)
-
public : 对所有类可见。使用对象:类、接口、变量、方法
-
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。注意:不能修饰类(外部类)。
-
-
非访问修饰符
为了实现一些其他的功能,Java 也提供了许多非访问修饰符。-
static 修饰符,用来修饰类方法和类变量。
-
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
-
abstract 修饰符,用来创建抽象类和抽象方法。
-
synchronized 和 volatile 修饰符,主要用于线程的编程。
-
类和主函数
-
类是Java程序最基本的组件,包含了程序运行需要的所有属性和方法
-
主函数main()是Java程序运行的起始点
/ 总结 /
Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
1995年5月23日,Java语言诞生,时至今日,仍然是各大编程语言排行榜的头名,
往期推荐:
欢迎关注我的公众号
学习技术或投稿
长按上图,识别图中二维码即可关注