Java语言是纯粹的面向对象的程序设计语言,主要表现为Java完全支持面向对象的三种基本特征:继承、封装和多态。Java语言完全以对象为中心,Java程序的最小程序单位是类,整个Java程序由一个一个的类组成。
封装指的是将对象的 实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能;
继承是面向对象实现软件复用的重要手段,当子类继承父类后,子类作 为一种特殊的父类,将直接获得父类的属性和方法;
多态指的是子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征。
Java完全支持使用对象、类、继承、封装、消息等基本概念来进行程序设计,允许从现实世界中客观存在的事物(即对象)出发来构 造软件系统,在系统构造中尽可能运用人类的自然思维方式。实际上,这些优势是所有面向对象编程语言的共同特征。面向对象的方式实际上由OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个部分有机组成,其中,OOA和OOD的结构需要使用一种方式来描述并记录,目前业界统一采用UML(统一建模语言)来描述并记录OOA和OOD的结果。
目前Java里的对象具有唯一性,每个对 象都有一个标识来引用它,如果某个对象失去了标识,这个对象将变 成垃圾,只能等着系统垃圾回收机制来回收它。Java语言不允许直接
访问对象,而是通过对对象的引用来操作对象。
具有相同或相似性质的一组对象的抽象就是类,类是对一类事物的描述,是抽象的、概念上的定义;
Java语言提供了丰富的基本数据类型,例如整型、字符型、浮点型和布尔型等。
基本类型大致上可以分为两类:数值类型和布尔类型,其中数值类型包括整型、字符型和浮点型,所有数值类型之间可以进行类型转换,这种类型转换包括自动类型转换和强制类型转换。
标识符和关键字:
分隔符:
分号(;)、花括号({})、方括号([])、圆括号 (())、空格、圆点(.)都具有特殊的分隔作用,因此被统称为分隔符。其中方括号的主要作用是用于访问数组元素,方括号通常紧跟数组变量名,而方括号里指定希望访问的数组元素的索引。
标识符:
标识符就是用于给程序中变量、类、方法命名的符号。
Java语言的标识符必须以字母、下画线()、美元符(
)开头,后面可以跟任意数目的字母、数字、下画线
(
)
和美元符(
)开头,后面可以跟任意数目的字母、数字、下画线(_)和美元符(
)开头,后面可以跟任意数目的字母、数字、下画线()和美元符()。此处的字母并不局限于26个英文字母,而且可以包含中文字符、日文字符等。
由于Java 11支持Unicode 10.0字符集,因此Java的标识符可以使用Unicode 10.0所能表示的多种语言的字符。Java语言是区分大小写的,因此abc和Abc是两个不同的标识符。
从Java 9开始,不允许使用单独的下画线()作为标识符。也就是说,下画线必须与其他字符组合在一起才能作为标识符。使用标识符时,需要注意如下规则。
–标识符可以由字母、数字、下画线(_)和美元符(
)组成,其中数字不能打头。
−
−
标识符不能是
J
a
v
a
关键字和保留字,但可以包含关键字和保留字。
−
−
标识符不能包含空格。
−
−
标识符只能包含美元符(
)组成,其中数字不能打头。 --标识符不能是Java关键字和保留字,但可以包含关键字和保留字。 --标识符不能包含空格。 --标识符只能包含美元符(
)组成,其中数字不能打头。−−标识符不能是Java关键字和保留字,但可以包含关键字和保留字。−−标识符不能包含空格。−−标识符只能包含美元符(),不能包含@、#等其他特殊字符。
关键字:
Java一共包含51个关键字,Java的所有关键字都是小写的,TRUE、FALSE和NULL都不是Java关键字。goto和const这两个关键字也被称为保留字(reserved word),保留字的意思是,Java现在还未使用这两个关键字,但可能在未来的Java版本中使用这两个关键字;Java语言暂时没有提供goto语句来控制程序的跳转,这种做法提高了程序流程控制的可读性,但降低了程序流程控制的灵活性。为了弥补这种不足,Java提供了continue和break来控制循环结构。除此之外,return可以结束整个方法,当然也就结束了一次循环。
不仅如此,Java还提供了三个特殊的直接量(literal):true、false和null;
Java语言的标识符也不能使用这三个特殊的直接量。
从Java 10开始引入的var并不是关键字,它相当于一个可变的类型名(后面会详述),因此var依然可作为标识符。
编程的本质,就是对内存中数据的访问和修改。程序所用的数据都会保存在内存中,程序员需要一种机制来访问或修改内存中数据。这种机制就是变量,每个变量都代表了某一小块内存,而且变量是有名字的,程序对变量赋值,实际上就是把数据装入该变量所代表的内存区的过程,程序读取变量的值,实际上就是从该变量所代表的内存区取值的过程。形象地理解:变量相当于一个有名称的容器,该容器用于装各种不同类型的数据。
java中全部的控制修饰符总表:图有借鉴