Java初级笔记-第四章

本文详细介绍了Java中的类,作为面向对象编程的基础,类是程序设计的核心。文章讲解了类的概念、特点、声明格式,以及类的成员变量、成员方法、构造方法、静态变量和静态方法。通过实例展示了类的使用,强调了类在对象创建和对象行为中的作用。同时,提到了访问控制、对象和静态成员的使用规则。
摘要由CSDN通过智能技术生成

第四章 类
4.1 类的概念
Java语言是一种纯面向对象的编程语言(OOP,你所有使用的内容,都是从类开始。你设计的思维模式,就是对象,就是一个整体观),面向对象的程序设计是以类为基础的。面向对象的程序设计是以类为基础的,Java程序是由类构成的。一个Java程序至少包含一个或一个以上的类。我们可以把客观世界中的每一个实体都看作是一个对象,如一个人、一辆汽车、一个按钮、一只鸟等等。在我们的程序开发中,对象的定义并不局限于看得见摸得着的实体,诸如一个贸易公司,它作为一个机构,并没有物理上的形状,但却具有概念上的形状,它有明确的经营目的和业务活动。
面向对象的方法将系统看作是现实世界对象的集合,在现实世界中包含被归类的对象。面向对象系统是以类为基础的,我们把一系列具有共同属性和行为的对象划归为一类。
我们可以简单地把类定义为:“具有共同属性和行为的一系列对象的一个抽象概念”。
面向对象的特点:抽象、封装、继承、多态
类是对现实世界中实体的抽象,类是一组具有共同特征和行为的对象的抽象描述。因此,一个类的定义包括如下两个方面:
定义属于该类对象共有的属性(属性的类型和名称);
定义属于该类对象共有的行为(所能执行的操作即方法)。
类包含类的声明和类体两部分,其定义类的一般格式如下:
[访问限定符] [修饰符] class 类名 [extends 父类名] [implements 接口名列表>]//类声明
{ //类体开始标志
[类的成员变量说明] //属性说明
[类的构造方法定义]
[类的成员方法定义] //行为定义
} //类体结束标志
对类声明的格式说明如下:
1) 方括号“[]”中的内容为可选项,在下边的格式说明中意义相同,不再重述。
2) 访问限定符的作用是:确定该定义类可以被哪些类使用。可用的访问限定符如下:
a) public 表明是公有的。可以在任何Java程序中的任何对象里使用公有的类。该限定符也用于限定成员变量和方法。如果定义类时使用public进行限定,则类所在的文件名必须与此类名相同(包括大小写)
b) private表明是私有的。该限定符可用于定义内部类,也可用于限定成员变量和方法。
c) protected 表明是保护的。只能为其子类所访问。
d) 默认访问 若没有访问限定符,则系统默认是友元的 (friendly)。友元的类可以被本类包中的所有类访问。
3) 修饰符的作用是:确定该定义类如何被其他类使用。可用的类修饰符如下:
a) abstract 说明该类是抽象类。抽象类不能直接生成对象。
b) final 说明该类是最终类,最终类是不能被继承的。
4) class是关键字,定义类的标志(注意全是小写)。
5) 类名是该类的名字,是一个Java标识符,含义应该明确。一般情况下单词首字大写。
6) 父类名跟在关键字 “extends”后,说明所定义的类是该父类的子类,它将继承该父类的属性和行为。父类可以是Java类库中的类,也可以是本程序或其他程序中定义的类。
7) 接口名表是接口名的一个列表,跟在关键字“implements”后,说明所定义的类要实现列表中的所有接口。一个类可以实现多个接口,接口名之间以逗号分隔。如前所述,Java不支持多重继承,类似多重继承的功能是靠接口实现的。
以上简要介绍了类声明中各项的作用,我们将在后边的章节进行详细讨论。
类体中包含类成员变量和类方法的声明及定义,类体以定界符左大括号“{”开始,右大括号“}”结束。类成员变量和类方法的声明及定义将下边各节中进行详细讨论。
我们先看一个公民类的定义示例。
public class Citizen
{
[ 声明成员变量 ] //成员变量(属性)说明
[ 定义构造方法 ] //构造方法(行为)定义
[ 定义成员方法 ] //成员方法(行为)定义
}
我们把它定义为公有类,在任何其他的Java程序中都可以使用它。

4.1.1 一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

4.1.2 源文件声明规则
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。
一个源文件中只能有一个public类
一个源文件可以有多个非public类
源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
如果一个类定义在某个包中,那么package语句应该在源文件的首行。
如果源文件包含import语句,那么应该放在package语句和类定义之间。
如果没有package语句,那么import语句应该在源文件中最前面。
import语句和package语句对源文件中定义的所有类都有效。
在同一源文件中,不能给不同的类不同的包声明。
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。这些将在访问控制章节介绍。
除了上面提到的几种类型,Java还有一些特殊的类,如:内部类、匿名类。
4.2 成员变量
成员变量用来表明类的特征(属性)。声明或定义成员变量的一般格式如下:
[访问限定符] [修饰符] 数据类型 成员变量名[=初始值];
其中:
1)访问限定符用于限定成员变量被其它类中的对象访问的权限,和如上所述的类访问限定符类似。
2)修饰符用来确定成员变量如何在其他类中使用。可用的修饰符如下:
a) static 表明声明的成员变量为静态的。静态成员变量的值可以由该类所有的对象共享,它属于类,而不属于该类的某个对象。即使不创建对象,使用“类名.静态成员变量”也可访问静态成员变量。
b) final 表明声明的成员变量是一个最终变量,即常量。
c) transient 表明声明的成员变量是一个暂时性成员变量。一般来说成员变量是类对象的一部分,与对象一起被存档(保存),但暂时性成员变量不被保存。
d) volatile 表明声明的成员变量在多线程环境下的并发线程中将保持变量的一致性。
3)数据类型可以是简单的数据类型,也可以是类、字符串等类型,它表明成员变量的数据类型。
类的成员变量在类体内方法的外边声明,一般常放在类体的开始部分。
下边我们声明公民类的成员变量,公民对象所共有的属性有:姓名、别名、性别、出生年月、出生地、身份标识等。

import  java.util.*;
public class Citizen
{
   //以下声明成员变量(属性)
String  name; 
String  alias;
String  sex;
Date  brithday;  //这是一个日期类的成员变量
String  homeland;
String  ID;
//以下定义成员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李砖砖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值