前言:自从出生,每个人都是一个学习者或探索者。永远保持一颗谦逊的心态,遵循一定的方法和规范,去学习和实践,永远记得走走停停,多回头看看自己走过的路,温故而知新,也能更好地指导未来的路怎么走(同样,本篇文章也会根据知识的完善和技能的提升而不断更新)。
目录
一、Java简介
一、Java简介
1、Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论允许程序员以优雅的思维方式(思想很重要)进行复杂的编程。
2、Java具有简单性、面向对象、分布式、健壮性、安全性、平*立与可移植性、动态性特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
3、Java三大体系:
Java SE(J2SE)
Java EE
Java Me
二、Java的主要特性
1、java语言是简单的:java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符承载、多继承、自动的强制类型转换,尤其是,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是动态的:Java语言的设计目标之一就是适应于动态变化的环境,.Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入动态的类,这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行类型时候的检查。
3、Java语言是面向对象的:Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字implements),Java语言全面支持多动态绑定,而C++语言只对虚函数使用动态绑定。Java是一个纯面面对象设计的程序语言!
4、Jva语言是多线程的:在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建,通常有两种方法来创建线程:第一、使用型构为Thread(Runable)构造子将一个实现了Runnable接口的对象包装成了一个线程。第二、从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。注意Thread类已经实现了runnable接口,因此任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制,Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
5、Java语言是分布式的:Java语言支持Internet的应用开发,在基本的Java应用编程接口中有一个网络应用编程接口(Java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
6、Java语言是高性能的:与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器的技术发展越来越接近C++。
7、Java语言是健壮性的:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择,Java的安全检查机制使得Java更具健壮性。
8、Java语言是解释型的:Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码文件进行解释执行,执行过程中需要的类在连接阶段被载入到环境中运行。
9、Java语言是安全的:Java通常被用在网络环境中,为此Java提供了安全机制,以防恶意代码的攻击。除了Java具有的许多安全特性以外,Java对通过网络环境下载的类具有一个安全防范机制(类ClassLoder),如分配不同的名字空间,以防替代本地的同名类、字节码检查,并提供安全管理机制(SecurityManager),让Java应用设置安全岗兵。
10、Java语言是可移植的:这种移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现 的,Java的运行环境是用ANSI C实现的。
11、Java语言是体系结构中立的:Java程序(后缀名为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀名为class文件),然后可以在实现这个Java平台的任何系统中运行,这种途径适合于异构的网络环境和软件的分发。
三、Java三大特性
封装、继承和多态。
1、封装:在Java中,封装是由类(Class)实现的。把现实生活中某一实体抽象成类,且该类包括属性(Type)、方法(Method),如把“学生”抽象成类,“学生”类有对应的属性name、age和方法study。(对于Java中的类,每个类中都可以有属性和方法,类属性又叫做成员变量)
1 public class Pserson{ 2 private String name; // 属性 3 private int age; // 属性 4 public void eat(){ // 方法 5 } 6 }
2、继承:继承描述的是一种类与类的关系,比如学生是属于人的范畴,Student类(子类)继承Person类(父类),Student类就被称为是Person类的子类(或派生类),Person类就是Student类父类(或基类)。
1 public class Pserson{ 2 private String name; // 属性 3 private int age; // 属性 4 public void eat(){ // 方法 5 } 6 } 7 8 // Student类继承Person类 9 public class Student extedns Pserson{ 10 11 }
3、多态:多态是同一个行为具有多个不同表现形式或形态的能力。多态有引用多态(父类引用指向子类对象)和方法多态(子类重写的方法或继承自父类的方法)两种,多态可以消除类型之间的耦合关系。
(1)多态存在的三个必要条件:继承、重写、父类引用指向子类对象。
(2)多态的实现方式:重写、接口、抽象类和抽象方法。
四、Java的基础语法
1、基本概念
(1)对象:是类的一个实例,有状态和行为。如:学生是一个对象,他的状态有:身高、体重、肤色、年龄等;行为有:吃饭、学习、玩耍和睡觉等。
(2)类:类是一个模板,它描述一类对象的行为和状态。
(3)方法:方法就是行为,一个类可以有很多方法,逻辑运算、数据运算以及所有动作都是在方法中完成的。
(4)实例变量:每一个对象都有特定的实例变量,对象的状态由这些实例变量的值决定。
2、基本语法
(1)大小写敏感:在Java语言环境里,是对大小写敏感的。标识符Hello和hello是不同的表示。
(2)类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,则后面每个单词的首字母大写。
(3)源文件名:源文件名必须和类文件名相同,当保存文件的时候,应该使用类名和文件名保存(切记Java是大小写敏感的语言),文件名的后缀是.java。
(4)主方法入口:所有的Java程序由public static void main (String [ ]args)方法开始执行。
强调:为了码出高效,码出质量——推荐阅读学习《阿里巴巴Java开发手册(终极版)》。
3、标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
注意:
(1)所有的标识符都应该以字母(A~Z或a~z),美元符($)、或者下划线(_)开始;
(2)首字符之后可以是字母(A~Z或a~z),美元符($)、或者下划线(_)的任何字符组合;
(3)关键字不能用做标识符;
(4)标识符是大小写敏感的。
4、修饰符
(1)访问控制修饰符:default,public,protected,private;
(2)非访问控制修饰符:final,abstract,strictfp。
5、变量
(1)局部变量;
(2)类变量(静态变量);
(3)成员变量(非静态变量)。
6、接口
接口就是对象之间相互通信的协议。接口只定义派生要用的方法,但是方法的具体实现完全取决于派生类。
7、枚举
枚举限制变量只能是预先设定好的值。枚举可以单独声明或者声明在类里面,方法、变量和构造函数也可以在枚举中定义。
8、数组
数组是存储在堆上的对象,可以保存多个同类型变量。
五、面向对象