Java语言的特点
1.面向对象
面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特征(属性)以及行为特征(方法)提取并出来,并以固定的形式表示。
2.简单好用
Java语言是由C和C++演变而来的,它省略了C语言中所有的难以理解、容易混淆的特性(比如指针),变得更加严谨、简洁、易使用。
3.健壮性
Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。 另外,在Java语言中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的自动收集等),有效地减少了错误,使得Java应用程序更加健壮。
4.安全性
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击,从而可以提高系统的安全性。
5.平台无关性
Java平台无关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。
6.支持多线程
在C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持。多线程机制使应用程序在同一时间并行执行多项任务,该机制使得程序能够具有更好的交互性、实时性。
7.分布式(支持网络编程)
Java语言具有强大的、易于使用的网络能力,非常适合开发分布式计算的程序。java中提供了网络应用编程接口(java.net),使得我们可以通过URL、Socket等远程访问对象。
8.编译与解释共存
Java语法基础
标识符: 用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列。
合法的标识符:
- 由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且首字符不能是数字。
- 不能把java关键字和保留字作为标识符。
- 标识符对大小写敏感。
关键字:Java语言中已经赋予了特定含义的
合法的标识符:
关键字:Java语言中已经赋予了特定含义的
变量:程序运行期间可以被改变的量。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它能够存储信息的类型,这称为“变量声明”,也叫容器的创建。 变量的使用:
Java 中的注释有三种:
数据类型
基本数据类型(8个),也称原始数据类型:
类型转换:
运算符运算符:一种特殊符号,用以表示数据的运算、赋值和比较数与整数 运算符分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符 1.算术运算符
Java流程控制语句选择结构if语句:
if else语句:
循环结构在程序中当要重复性的做某项工作时可以使用循环语句,包括:for循环、while循环、do…while循环。 for循环语句:
流程跳转流程跳转语句:
数组数组是数据的集合,一个容器,用来存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。 数组声明的三种方式:
一维数组:
二维数组:
对象与类对象:客观存在能够相互区分的个体,比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。概括来说就是:万物皆对象。 类:若干具有相同属性和行为的对象的群体或者抽象,类是创建对象的模板,由属性和行为两部分组成 类是对象的概括或者抽象,对象是类的实例化。 类的声明
成员变量的声明: 成员方法的声明: 构造器的声明:
类的使用类变量的声明:
成员变量与局部变量:
参数:参数的本质是特殊的局部变量,只能定义在方法的小括号中 重载方法的重载OverLoading: 同一个类中定义了多个方法名相同而参数不同的方法 重载在同一个类中,方法名相同,参数不同(参数的个数、顺序、类型不同)
方法的返回值类型:
关键字this关键字:
this的两种使用方法:
静态变量: 使用static修饰的成员变量叫做静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。static成员变量的初始化顺序按照定义的顺序进行初始化。 静态方法: 使用static修饰的成员方法叫做静态方法,静态方法可以不依赖于任何对象进行访问(对于静态方法来说,是没有this的),由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。 调用格式: 静态内部类(static 修饰类的话只能修饰内部类): 静态内部类与非静态内部类之间存在一个最大的区别: 非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向创建它的外围类,但是静态内部类却没有。没有这个引用就意味着:1. 它的创建是不需要依赖外围类的创建。2. 它不能使用任何外围类的非 static 成员变量和方法。 静态代码块: static块可以用来优化程序性能:因为它只会在类加载的时候执行一次
super关键字: 使用方式:
final关键字: final 关键字,意思是最终的、不可修改的,最见不得变化 ,用来修饰类、方法和变量,具有以下特点:
说明:使用 final 方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的 Java 实现版本中,会将 final 方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的 Java 版本已经不需要使用 final 方法进行这些优化了)。类中所有的 private 方法都隐式地指定为 final。
访问修饰符
Java的三大特性封装封装指隐藏对象的状态信息(属性),不允许外部对象直接访问对象的内部信息(private实现)。但是可以提供一些可以被外界访问的方法来操作属性。 将类中成员变量private,提供public的get和set方法来控制属性的存取动作,以保证对私有属性操作的安全性:
继承继承extends:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承单独的那个类即可。多个类可以称为子类,单独这个类称为父类或者超类。
继承是使用已存在
方法的重写:
方法重写的前提:继承,子类的修饰符大于等于父类,方法名、参数列表、返回值类型必须相同 多态多态:一种事物的多种形态(多态的前提:继承、重写、向上转型)
抽象类抽象类的概念: 抽象类的声明:
抽象类的使用:
接口在Java中接口不仅仅是程序开发过程中“约定”,更是更加抽象化的抽象类。 接口的声明语法:
一个类可以实现多个接口,从而解决了Java单继承的缺点。
|