第六章总结

一.对象概述

1.对象

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

2.类

本能将一个事物播述成一类事物,如一只鸟不能称为鸟类,但如果要给某一类事物一个统称,发需要用到类这个概念。
类就是同一类事物的统称,如果将现实世界中的一个事物抽象成对象,类就是这类对象的统称如鸟类、家食类、人类等。

3.封装

      面向对象程序设计具有以下特点:封装性、继承性和多态性。
      封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用计算机时,只需要使用手指敲击键盘就可以5现一些功能,无须知道计算机内部是如何工作的。即使知道计算机的工作原理,但在使用计算机时也并不完全依赖于计算机工作原理等细节。
     采用封装的思想保证了类内部数据结构的完整性,使用类的用户不能轻易地直接操作类的数据结构,只能执行类允许公开的数据。这样就避免了外部操作对内部数据的影响,提高了程序的可维护性。

 4.继承

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

 5.动态

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

二.类

1.成员变量

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

 2.成员方法

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

权限修饰符 返回值类型 方法名(参数类型 参数名){
    ...                                //方法体
    return返回值;
}

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

3.权限修饰符

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

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

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

 

  构造器自动生成

 

 

4.局部变量

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

 

5.this关键字

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

public void setName(String name){     //定义一个setName()方法
    this.name=name;                   //将参数值赋予类中的成员变量
}

二.类的构造方法

       在类中,除成员方法外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。
     构造方法的特点如下:
 构造方法没有返回值。
 构造方法的名称要与本类的名称相同。

构造方法的定义语法格式:

public Book(){
    ...        //构造方法体    
}

public:构造方法修饰符

Book:构造方法的名字

 

 三.静态变量和静态方法

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

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

 

 四.类的主方法

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

在主方法的定义中可以看到其具有以下特性:
    主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的
心主方法没有返回值。
    主方法的形参为数组。其中,args[0]~args[n分别代表程序的第一个参数到第 n 个参数,可以使用args,length 获取参数的个数。

 

 

 

五.对象

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

 

 

 

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

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值