一、实现类的基本操作
1、面向对象的基本概念:
面向对象的三大特征:封装、继承、多态
对象是用来描述客观事物的一个实体。用面向对象方法解决问题时,要对现实世界中的对象进行分析与归纳,找出那些对象与要解决的问题
是相关的。
类是具有相同属性和方法的一组对象的集合。类定义了对象将会拥有的特征(属性)和行为(方法)。类与对象的关系就如同模具和用这个
模具制作出的物品之间的关系,一个类给出它全部对象的一个统一的定义,而它的每个对象则是符合这种定义的一个实体,因此类和对象的
关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例。
2、定义类:
面向对象设计的过程一般分为3步:
(1)发现类,类定义了对象将会拥有的特征(属性)和行为(方法)
(2)发现类的属性,对象所拥有的静态特征在类中表示时称为类的属性
(3)发现类的方法,对象执行的操作称为类的方法
定义类的语法格式:
[访问修饰符] class 类名 {
// 类的具体代码
}
定义属性的语法格式:
[访问修饰符] 数据类型 属性名 ;
定义方法的语法格式:
[访问修饰符] 返回类型 方法名称;
3、创建和使用对象:
(1)创建对象
类是一类事物的集合和抽象,代表这类事物共有的属性和行为。一个对象称为类的一个实例,是类一次实例化的结果。
创建对象的语法格式:
类名 对象名 = new 类名();new 是关键字;左边的类名为对象的数据类型;右边的类名()称为类的构造方法
(2)使用对象
在java中,要引用对象的属性和方法,需要使用 " " 。
使用对象的语法格式:
对象名 . 属性 //引用对象的属性
对象名 . 方法名() //引用对象的方法
(3)对象数组
对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象,当根据下标找到某个元素时,可以按照
对象的使用方法来使用该元素。
二、升级类的功能
1、成员方法:
带参数的方法:类成员主要包括两部分:成员方法和成员变量
带参数的work()方法可以接收用户输入的内容,创建work()方法时定义的参数叫做形式参数,简称形参。调用方法时传入的参数叫做实际参数,
简称实参。
方法重载是指在一个类的中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数
方法重载的特点:
>>在同一个类中
>>方法名相同
>>参数的个数或类型不同
2、成员变量
直接在类中定义的变量称做成员变量,定义在方法外部。局部变量就是定义在方法中的变量
成员变量和局部变量的区别:
>>作用域不同
>>初始值不同
>>在同一个方法中,不允许有同名的局部变量,在不同的方法中,可以有同名的局部变量
>>局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级
3、构造方法
构造方法的主要作用是进行一些数据的初始化
定义构造方法的语法格式:[ 访问修饰符]方法名([参数列表]){
.......代码
}
>>>构造方法没有返回值
>>>默认构造方法没有参数,因此参数列表可选
>>>构造方法的方法名和类名相同
如果自定义了一个或多个构造方法,则java不会自动添加默认的构造方法
构造方法重载是指在同一个类中可以定义多个重载的构造方法,使用构造方法重载和一般方法重载等技术可以实现信息信息的输出
三、在控制台输出人员信息
1、封装
java中封装的实质就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作
和访问。
封装反映了事物的相对独立性,有效避免了外部错误对此对象的影响,并且能对对象使用者由于大意产生的错误操作起到预防作用。
2、封装的步骤:
(1)修改属性的可见性:将person类中的属性由public修改为private即可
(2)设置setter/getter()方法:可以手动添加setter/getter()方法,也可以使用组合键Ctrl+Shift+S由系统添加
(3)设置属性的存取限制:设置之后还没有对属性值设置合法性检查,需要在setter方法中进一步利用条件判断语句进行赋值限制
四、使用包改进信息输出
1、包的概述
java中的包机制也是封装的一种形式,主要有3个方面的作用:
>>包允许将类组合成较小的单元(类似文件夹),易于找到和使用相应的类问价
>>防止命名冲突,java中只有在不同包中的类才能命名。
>>包允许更广的范围内保护类、数据和方法
2、包的定义
定义包的语法格式:package;
>>package是关键字。
>>包的声明必须是java源文件中的第一条非注释性语句,而且一个源文件只能有一个包声明语句,设计的包需要与文件系统结构相对应,
因此,在命名包时要遵守命名规范
3、包的使用
声明包的含义是声明当前类所在的包
导入包的含义是声明在当前类中要使用到的其他类所在的包
五、使用访问修饰符
1、类和类成员的访问控制
包实际上是一种访问控制机制,通过包来限制和制约类之间的访问关系。访问修饰符也同样可以限制和制约类之间的访问关系
2、static关键字
一个类可以创建n个对象。如果n个对象中的某些数据需要共用,就需要使用static关键字修饰这些数据
在java中,一般情况下调用类的成员都需要先创建类的对象,然后通过对象进行调用,用static修饰的属性称为静态变量或者类变量,没有
使用static修饰的属性称为实例变量
用static修饰的方法称为静态方法或者类方法,不用static修饰的方法称为实例方法