第六章总结

文章介绍了面向对象编程的基本概念,包括对象的属性和行为,类的定义,封装、继承和多态性的核心思想。在Java中,类包含成员变量和方法,构造方法用于对象的创建,静态变量和方法实现了数据共享。主方法作为程序的入口,控制程序执行流程。对象是通过new操作符创建的,引用变量作为内存地址的代理,简化了对象的管理和访问。
摘要由CSDN通过智能技术生成

一、对象概述

1.对象

现实世界中,随处可见的一种事物就是对象。对象是事物存在的实体,如人、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即静态部分与动态部分。顾名思义,静态部分就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,其属性包括高矮、胖瘦、性别、年龄等。动态部分即对象可执行的动作,这部分称为“行为”,也是一个值得探讨的部分,同样对于一个人,其可以哭泣、微笑、说话、行走,这些都是这个人具备的行为。人类通过探讨对象的属性和观察对象的行为来了解对象。

2.类

本能将一个事物播述成一类事物,如一只鸟不能称为鸟类,但如果要给某一类事物一个统称,发需要用到类这个概念。

类就是同一类事物的统称,如果将现实世界中的一个事物抽象成对象,类就是这类对象的统称如鸟类、家食类、人类等。

3.封装

面向对象程序设计具有以下特点:封装性、继承性和多态性。

      封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用计算机时,只需要使用手指敲击键盘就可以5现一些功能,无须知道计算机内部是如何工作的。即使知道计算机的工作原理,但在使用计算机时也并不完全依赖于计算机工作原理等细节。

     采用封装的思想保证了类内部数据结构的完整性,使用类的用户不能轻易地直接操作类的数据结构,只能执行类允许公开的数据。这样就避免了外部操作对内部数据的影响,提高了程序的可维护性。

bd8e910517224c3492346b622c355fff.jpg

 4.继承

类与类之间同样具有关系,这种关系被称为关联。关联主要描述两个类之间的一般二元关系。例如,一个百货公司类与销售员类就是一个关联,学生类与教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种。

dbae0f1ac9654a5aa1e613a1b1a33e13.jpg

 5.动态

多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,可以实例化子类的对象。由于整个事件的处理都只依赖于类的方法,所以日后只要维护和调整父类的方法即可,这样就降低了维护的难度,节省了时间,提到多态,就不得不提抽象类和接口,因为多态的实现并不依赖于具体类,而是依赖于抽象类接口。

二、类

1.成员变量

在Java中,对象的属性也称为成员变量,成员变量可以是任意类型,整个类中均是成员变量作用的范围。

2.成员方法

 在Java 语言中,使用成员方法对应于类对象的行为。以 Book类为例,它包含 getName0和setName0两个方法,这两个成员方法分别为获取图书名称和设置图书名称的方法。

一个成员方法可以有参数,这个参数可以是对象,也可以是基本数据类型的变量,同时成员方法有返回值和不返回任何值的选择,如果方法需要返回值,可以在方法体中使用 retumm 关键字,使用这个关键字后,方法的执行将被终止。

3.权限修饰符

        Java中的权限修饰符主要包括 private、public和 protected,这些修饰符控制着对类和类的成员变量以及成员方法的访间,如果一个类的成员恋成成员方法被修饰为 private,则该成员变量风能在本中被使用,在子类中是不可见的类的变的类也是不可见的。如果将类的成员变量和成员方的访问权限设置为 public,那么除了可以在本类使用这些数据,还可以在子类和其他包的类中使用。果一个类的访问权限被设置为 private,这个类将隐藏其内的所有数据,以免用户直接访间它。如果要使类中的数据被子类或其他包中的类使用,可以将这个类设置为 public 访问权限。如果个类使protected 修饰符,那么只有本包内的该类的子类或其他类可以访问此类中的成员变量和成员方法。

这么看来,public 和 proteted 修饰的类可以由子类访问,如果子类和父类不在同一包中,那么有修饰符为 public 的类可以被子类进行访问。如果父类不允许通过继承产生的子类访问它的成员变那么必须使用 private 声明父类的这个成员变量。

9952fb05fd154bc6921e9851da19c0b6.jpg

 自动填写(注意:要先把代码注释掉或删掉!!!)

c8dcccadc3eb42a1b43b3410db0834bd.jpg

9f09252e93724c058254eeb266f657e6.jpg 

 构造器自动生成

77766a0198cd47d6ab699dcc3a66066a.jpg

eeac707dd26d440096b6fd0713328375.jpg 

 4.局部变量

如果在成员方法内定义一个变量,那么这个变量被称为局部变量。

cf5d77af76514ac4a8574d7e5f0dfdba.jpg

 5.this关键字

this关键字用于表示本类当前的对象,当前对象不是某个new出来的实体对象,而是当前正在编辑的类,this关键字只能在本类中使用。

三、类的构造方法

在类中,除成员方法外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。

     构造方法的特点如下:

 构造方法没有返回值。

 构造方法的名称要与本类的名称相同。

四、静态变量和静态方法

在介绍静态变量和静态方法之前,首先需要介绍 static 关键字,因为由 static 修饰的变量和方法被称为静态变量和静态方法。     

有时,在处理问题时会需要两个类在同一个内存区域共享一个数据。例如,在球类中使用圆周率 PI 这个值,可能除了本类需要这个值,在另外一个圆类中也需要使用。这时没有必要在两个类中同时创建 PI,因为这样系统会将这两个不在同一个类中定义的静态值分配到不同的内存空间中。为解决这个问题,可以将 PI 设置为静态的。

286dec9af38a4b5fa9ece5dfb91a60e5.jpg

830a63a6e2f4469eb1584ea0f41831a1.jpg 

 五、类的主方法

    主方法是类的入口点,它定义了程序从何处开始。主方法提供对程序流向的控制,Java 编译器通过主方法来执行程序。

   在主方法的定义中可以看到其具有以下特性:

   主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的心主方法没有返回值。

    主方法的形参为数组。其中args[0]~args[n分别代表程序的第一个参数到第 n 个参数,可以使用args,length 获取参数的个数。

2bb6ab234bef4892850c06d1b46b1374.jpg

2668839bd5534565a2ecef45c95542b5.jpg 

0dcbaeba00c54f14801e7f3657952f85.jpg 

 六、对象

在Java 语言中,通过 new操作符来创建对象。前文在讲解构造方法时介绍过,每实例化一个对象就会自动调用一次构造方法,实质上这个过程就是创建对象的过程。      

13a9f71283374950960edca87005e6a2.jpg

7a582ed486984388aafba63be8211eb9.jpg 

498ed17a3a834e0db6b12ff56f98a33a.jpg 

a786d1f111a34515b17382bcc2c11f9d.jpg 

  实感上真正的对象是“new People0”这段代码。为了方便开发者保存、调用对象,于是创建了一个People类到、名叫tom的引用变量。实际上,tom 只是一段内存地址,用于标记“new People0”对象在内春中的位置。因为内存地址又长又乱,很难让人记住,所以 Java 语言利用引用变量帮开发者标配内存她短,开发着只要记住引用变量的名字,就能够在内存里找到对象数据。简单来说,tom 是 newPoopie0的“代理人”既然tom是new Pcople0的“代理人”,那“newPeople0”对象能做的事,tom 也能做。

ae575ce4928c40aaa361d40e0f7bd7a9.jpg

cdf46a22c7be4e979ae31e527bcd7231.jpg 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值