2.1面向对象的基础概念
是一种程序设计方法和设计规范。从对象出发来构造软件系统,并在系统架构过程中京可能的运用热泪的自然思维方式。
2.1.1类和对象
•把相似的对象划归成一个类。
•在软件中,类就是一个模板,定义了通用于一个特定种类的所有对象的状态(变量)和行为(方法)。对象是实际存在的该类事物的每个个体。
•类是创建对象的模板,对象是类的实例。
2.1.2属性和方法
2.1.3对象的继承
•理解继承是理解面向对象程序设计的关键。
•在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。
•在Java中,不允许多继承。
2.1.4对象的重用
1.创建新对象的时候,应该以继承现有对象为前提,而不是创建新对象
2.尽量以现有对象来架构程序。
2.1.5对象的封装
Java中通过将数据封装、声明为私有的(private),再提供一个或多个公开的(public)方法实现对该属性的操作,以实现下述目的:
1.隐藏一个类的实现细节;
2.使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
3.便于修改,增强代码的可维护性;
2.1.6对象的多态性
在一般类中定义的属性或者方法被特殊类继承后,可以具有不同的数据类型或者表现出不同的行为。
2.2Java语言中类的定义
1 | public class Person |
2.2.1类的属性
属性成员是具有某种数据类型的变量或者常量,当创建一个对象是,它会包含类中定义的所有变量。
2.2.2类的方法
1.方法的定义
2.main()方法,包含主方法的类称为主类,它是程序执行的入口点。java文件中,可以有多个类,但只能有一个public类,且与java文件同名。
3.方法的调用
2.3常量与变量
2.3.1 常量
在程序运行过程中其值保持不变的量,如1,true, “WHUT”, 6.5等等。
1.用final定义的符号常量位于方法定义之内,只能在方法内使用,
2.如果希望一个符号常量被本类的其他方法使用,就必须用static
final声明,并将声明语句放到main()方法外部。
3.如果用public static final 来声明,该符号常量还可以被其他类使用
2.3.2 变量
①定义:变量(Variable)用于表示其值在程序运行过程中可以改变的数据。变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存中的数据。
②分类:
1.按所属数据类型划分:基本类型变量和引用类型变量
2.按声明的位置划分:
局部变量——方法或语句块内部定义的变量
成员变量——方法外部、类的内部定义的变量
③变量的生存期
局部变量的生存期就是其所在方法或语句块单次执行的期间——在程序每一次调用方法或运行进入到一个语句块中时,其中的局部变量才被创建并可用,随方法/语句块的退出,局部变量将被销毁。
成员变量的生存期与其所属的对象相同,随着对象的创建而创建、随对象的销毁而销毁。
2.3.3 标识符与关键字
java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是关键字。
2.4数据类型
2.4.1基本数据类型
Java中定义了四类/八种基本数据类型
Ø逻辑型 – boolean
Ø文本型 – char
Ø整数型 – byte, short, int, long
Ø浮点型 – float, double
1 | //整数拓展: 二进制0b 八进制0 十进制 十六进制0x |
2.4.2各类型之间的相互转换
自动类型转换:在某种条件下,系统自动完成类型转换
1.两种类型兼容 •例如:int 和 double 兼容
2.目标类型大于源类型 •例如:double 型 大于 int 型
强制类型转换:(target_type)value
1 | int a: |
2.5运算符和表达式
运算符的优先级:
区别:执行顺序不同
int a=2; int b= a + 3 * a++; 8
int a=2; int b= (a ++)+ 3 * a; 11