一、面向对象的基本概念
1.面向对象
面向对象的三大特征:封装、继承和多态。
JAVA语言是一种面向对象的语言,是一种直观而且程序结构简单的程序设计方法,它比较符合人类认识现实世界的思维方式。
2.对象
对象是用来描述客观事物的一个实体。
3.类
类是具有相同属性和方法的一组对象的集合,类定义了对象将会拥有的特征和行为。
二、定义类
面向对象设计的过程就是抽象的过程,一般分3步来完成:
(1)发现类,类定义了对象将会拥有的特征和行为。
(2)发现类的属性,对象所拥有的静态特征在类中表示是称为类的属性。
(3)发现类的方法,对象执行的操作称为类的方法。
1.定义类
语法格式:[访问修饰符]class 类名{
//省略类的内部具体代码
}
2.属性
JAVA中类的内部主要包含属性和方法。
语法格式:[访问修饰符]数据类型 属性名;
3.方法
对象执行操作的行为称为类的方法。
[访问修饰符]返回类型 方法名称 (参数类型 参数名1,参数类型 参数名2,.......){
//.......省略方法具体代码
}
三、创建和使用对象
1.创建对象
类是一类事物的集合和抽象,代表这类事物共有的属性和行为。一个对象称为类的一个实例,是类的一次实例化的结果。
语法格式:类名 对象名 =new 类名();
2.使用对象
在JAVA中要引用对象的属性和方法,需要使用 “ . ”。
语法格式:对象名.属性 //引用对象的属性
对象名.方法名 //引用对象的方法
四、成员方法
类成员主要包含两部分:成员方法和成员变量
1.带参数的方法
2.方法重载
(1)方法重载的定义
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。
(2)方法重载的特点
在同一个类中;
方法名相同;
参数的个数或类型不同;
方法的返回值不能作为判断方法之间是否构成重载的依据;
(3)方法重载的使用
(4)方法重载的优点
方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。
五、成员变量
1.成员变量作用域
类中的属性,也就是直接在类中定义的变量称为成员变量,它定义在方法的外部。
2.局部变量作用域
局部变量就是定义在方法中的变量。
3.成员变量和局部变量的区别
(1)作用域不同;
(2)初始值不同和;
(3)在同一方法中,不允许有同名的局部变量和局部变量可以和成员变量同名;
(4)并且在使用是,局部变量具有更高的优先级。
4.数据类型
变量类型分为两种
一种是基本数据类型
一种是引用数据类型
六、构造方法
1.构造方法的定义
构造方法的主要作用是进行一些数据的初始化。
语法格式:[访问修饰符]方法名([参数方法]){
//.......省略方法体的代码
}
2.构造方法重载
构造方法同样也可以重载,即在同一个类中可以定义多个重载的方法。
七、封装概述
Java中封装的实质就是将类的信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法类实现对隐藏信息的操作和访问。封装反应了事物的相对独立性。
1.封装的步骤
(1)修改属性的可见性
将Person类中的属性有public修改为private即可。
关键代码:
public class Person{
private String name;
private String gender;
private int age;
}
(2)设置setterr/getter()方法
可以手动添加setter/getter()方法,也可以使用组合键Ctrl+Shift+S由系统添加。
(3)设置属性的存取限制
如果没有对属性设置合法性检查,需要在setter方法中进一步利用条件判断语句进行赋值限制。
八、包的概述
1.Java中的包机制也是封装的一种形式。
包的作用:
(1)包允许将类组合成较小的单元(类似文件夹),易于找到和使用相应的类文件。
(2)防止命名冲突:Java中只有在不同包中的类才能重名。不同的程序员命名同名的类在所难免。有了包,类名就容易管理了。
(3)包允许在更广的范围内保护类、数据和方法。根据访问规则,包外的代码有可能不能访问类。
2.包的定义:
语法格式:
package 包名;
3.包的使用
使用包Person类和PersonText类进行分类。
九、使用访问修饰符
1.类和类成员的访问控制
(1)类的访问修饰符
作用域 | 同一包中 | 非同一包中 |
修饰符 | ||
public | 可以使用 | 可以使用 |
默认修饰符 | 可以使用 | 不可以使用 |
(2)类成员的访问修饰符
作用域 | 同一类中 | 同一包中 | 子类中 | 其他地方 |
修饰符 | ||||
private | 可以使用 | 不可以使用 | 不可以使用 | 不可以使用 |
默认修饰符 | 可以使用 | 可以使用 | 不可以使用 | 不可以使用 |
protected | 可以使用 | 可以使用 | 可以使用 | 不可以使用 |
public | 可以使用 | 可以使用 | 可以使用 | 可以使用 |
2.static关键字
一个类可以创建n个对象。如果n个对象中的某些数据需要共用,就需要使用static关键字修饰这些数据。
(1)用static关键字修饰属性
使用static修饰的属性不依赖与任何对象,用类名直接加 “.” 调用即可。
(2)用static关键字修饰方法
用static修饰的方法称为静态方法或者类方法,不用static关键字修饰的方法称为实例方法。
在静态方法中不能直接访问实例变量和实例方法。
在实例方法中可以直接调用类中定义的静态变量的静态方法。