1—类、域、方法和实例对象

Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。

围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范、继承是类与类之间联系的一种形式、而多态为系统组件或模块之间解耦提供了解决方案。

应用面向对象语言求解问题的基本思路是:首先分析问题并建立相应的对象,然后通过这些对象以及他们之间的配合解决问题,其中每个对象在计算机中占用一定的内存,同时能够完成一定的功能。

对象:即类的具体体现,鸟就是鸟类的具体体现,每一只鸟都是鸟类的对象

实例:也就是对象,因为对象也被称为类的实例化

类:即类别,所有的鸟都是鸟类,那么我们可以用一个bird类来概括鸟这一类别动物

域:即作用范围,就像中国公民在只中国具有中国公民的相关权利

方法:即类的行为,就像飞行是鸟类的共有行为,飞行这一方法就是bird类的方法


类、域、方法和实例对象

类(class):是实例对象的模板,类的定义格式是:

[类修饰词列表] class 类名 [extends 父类名] [implements 接口名称列表]

{

         类体

}

 

第一行内容成为“类定义的头部 ”或 “类的声明”

类的声明:

1. 修饰词列表:可选项。如果存在多个类修饰词,则在相邻两个类修饰词之间采用空格分隔开。类修饰词用来说明类的属性,包括public、abstract、final、和strictfp等。

         default:默认值,定义只能在本包中使用。

         public:定义类可以被java的所有软件包使用,否则定义类只能在当前软件包中使用。

         abstract:定义类是一个抽象类。

         final:定义类不能用作父类。不能被覆盖(不应用于动态查询)。

         strictfp:定义类中各个复电数的表示及运算严格遵循IEEE754算术国际标准。

         static:成名为static的内部类是一个顶级类,它和包含类的成员是不相关的。

2. 类名:类名可以是任意的合法标识符,若类的修饰词是public,则该类应当与所在文件名相同。在同一个Java源文件中可以包含多个类,但不能包含两个及以上具有public修饰词的类。

3. extends 父类名:指定所定义类的父类,所定义类将具有其父类所定义的一些属性和功能。在定义类时如果不含有选项“extends 父类名”,则上面定义的类的父类是“java.lang.Object”,即不含选项“extends 父类名”与包含选项“extends java.lang.Object”具有相同的功能。类java.lang.Object是除了其自身外的所有类的直接或间接父类。

4. implements 接口名称列表:具有该属性,表明定义类是实现了这些给定接口的类,即定义类将具有这些给定接口的属性和功能。当包含多个接口时,接口之间采用逗号分隔。

 

类体

在类体部分可以定义类的构造方法和类的两类成员要素:成员域(field)和成员方法(method)


类的成员域简称为域,通常用来表示和存储类所需要的数据,其格式为:

 

[域修饰词列表]  类型 变量名或带初始化的变量名列表;

 

1、域修饰词列表:可选项,可以0个或多个,若存在多个,相邻两个域修饰词之间采用空格分隔开。域修饰词通常包括public、protected、private、static、final、transient和volatile。修饰词public、protected和private不能同时存在,它们表示当前定义成员域的访问控制属性,即当前定义的成员域的应用范围。

         static:表明当前定义的成员域是静态的。

         final:要求立即对当前的成员域赋值(必须进行初始化变量),且赋值之后不能再修改该域的值。

         transient:表明当前成员域是一种暂时的成员域,即当进行对象保存时可以不必保存当前的成员域。

         volatile:主要用在多线程程序设计中,表明在访问当前成员域时将采用同步机制。

2、类型:指定当前成员域的类型。可以是基本数据类型,如 int,也可以是引用数据类型,如 类名。

3、变量名或带初始化的变量名列表:可以包含1个或多个变量名,每个变量名是一个合法的标识符,若含有多个变量名,则相邻变量名或带初始化的变量名之间采用逗号分隔开。包含多个变量名时,实际定义了多个成员域,即每个变量名对应一个成员域。带初始化的变量名实际是包含赋值运算,如:int m_radius=0;

 

类的成员方法简称为方法,通常用来实现类的各种功能,其格式为:

 

[方法修饰词列表]  返回类型  方法名(方法的参数列表)

{

方法体

}

方法声明

第一行的内容为成员方法定义的头部或者当前定义的成员方法声明。

 

1、方法修饰词列表:可选项。通常包括public、protected、private、abstract、static、final、synchronized和strictfp。方法修饰词public、protected和private不能同时存在,它们表示当前定义的成员方法的访问控制属性,即当前成员方法的封装性。

         abstract:表明当前成员方法是抽象成员方法。抽象成员方法不能包含有方法体。

         static:表明当前定义的成员方法是静态的。

         final:当前成员方法所在类的子类中不能出现与当前成员方法相同的声明。

         synchronized:表明当前成员方法是一种同步成员方法。

         strictfp:表明在当前成员方法中各个浮点数的表示及其运算严格遵循IEEE算术国际标准。

2、返回类型:指定当前成员方法返回的数据的数据类型。可以是基本数据类型,如:int;也可以是引用数据类型,如:类型。若成员方法不返回任何数据,则应当在返回类型处写上关键字 void,否则编译将出错。

3、方法名:一个合法的标识符,用来表示当前的成员方法。

4、参数列表:可包含0个或多个,在参数列表处除了空格之外,不含任何字符时,表明该参数列表不含任何参数。需注意,不能再参数列表处写上关键字void,否则编译将出错。在参数列表中包含多个参数时,参数之间采用逗号分隔开。每个参数的格式是:

 类型  参数变量名


方法体

通常由一些语句组成,主要用来实现当前成员方法的功能。


类的构造方法

主要用来创建类的实例对象,通常同时完成新创建的实例对象的初始化工作。

定义构造方法的格式:、

【构造方法修饰词列表】类名(方法的参数列表)

{

    方法体

}

构造方法具有以下三个基本特点:

(1)构造方法名必须与类名相同

(2)构造方法不具有任何返回类型

(3)任何一个类都含有构造方法


创建类的实例对象可以通过new运算符和类的构造方法


其格式为:

new 构造方法名(构造方法调用参数列表)


通过该变量访问该实例对象的成员域的格式为:

变量名.成员域名

变量名.成员方法名(成员方法调用参数列表)


类的实例对象的生命周期包括实例对象的创建、实例对象的使用、实例对象的废弃以及垃圾的回收。



  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值