Java语言介绍:
Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,最大的优点是一次编译,到处运行,即跨平台特性。所有的Java程序必须放入一个类中去执行。
典型基本数据类型
- byte 8位 -128~127
- short 16位 -32768~32767
- int 32位 -2147483648~2147483647
Java中默认的编码方式unicode编码,是一种16进制编码方案。在ASCII码表中,26个大写字母的ASCII码值范围是65~90,小写字母的范围在97~122,大小写字母码值相差32。
Java是一种强类型语言,在使用变量之前,必须提前声明类型。
运算符优先级口诀:单目乘除为关系,逻辑三目后赋值。
面向对象的语言(OOP)
面向对象技术是一种数据抽象和信息隐藏的技术,它使得软件的开发更加简单化,符合人们的思维,同时又能降低软件的复杂性,提高软件的生产效率,因此得到了广泛的应用。面向对象是一种符合人类思维习惯的编程思想。在现实生活中,存在着各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。
- 封装:面向对象的核心思想。把对象的属性和行为封装起来,不让外界知道具体实现的细节。使数据的安全性得到保障。
- 继承:类与类之间的关系,子类可以继承父类中允许访问的属性和方法,只允许单继承。提高了程序的复用性和开发效率。
多态:父类的引用变量指向子类的对象(一个父类,多个子类,子类中重写父类的方法)。同种类的多个对象,在接受到同一个消息时却产生了不同的反映和效果。
构造方法
构造方法可以重载,可以被任何访问修饰符修饰,常用public修饰,但不用abstract,final,native,static,synchronized等非访问修饰修饰。
Java中没有指针,所以也没有引用传递,仅仅有值传递。不过可以通过对象的方式来实现引用传递。
static:静态代码块(在类加载时只执行一次),静态方法(只能访问所属类的静态成员变量和静态方法),静态变量。
final:可以修饰类,方法,变量,都是表示不可变。
abstract:抽象类,不能被实例化,为了以后将该类进行扩展。抽象类中可以没有抽象方法,抽象方法不能被final和static修饰。
synchronized:同一时间内只能被一个线程访问。
transient:序列化的对象包含被transient修饰的成员变量时,JVM跳过该特定的变量。
volatile:volatile修饰的成员变量在每次被线程访问时都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时候,不同的线程总是能看到某一成员变量的同一个值。注意,一个volatile对象引用可能是null。