精华内容
下载资源
问答
  • 全面理解Java类和对象面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。在面向对象程序设计(OOP)中,不必关心对象的具体实现。在传统的结构化程序设计中,算法是第一位的,数据...

    全面理解Java类和对象

    面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。在面向对象程序设计(OOP)中,不必关心对象的具体实现。在传统的结构化程序设计中,算法是第一位的,数据结构是第二位的,即首先确定如何操作数,再考虑如何组织数据,以方便操作。而OOP则颠倒了这种次序,将数据放在第一位,然后再考虑操作数据的算法。

    一、类

    类是构造对象的模板和蓝图。通俗地说,类相当于建筑的图纸,而对象相当于建筑物。由类构造对象的过程称为创建对象的实例。

    Java中通过关键字class定义“类”,后跟类名。例如:

    class Person{

    // 类的主体内容

    }

    定义了一个Person类。

    1.字段和方法

    定义一个类时,可以在类里设置两种类型的元素:数据成员和成员函数。其中数据成员是一种对象,可以是任何类型。如果是指向对象的句柄,则必须初始化这个句柄,通过构造器与一个实际对象连接起来。如果是基本数据类型,则可以在类定义的位置直接初始化。

    每个对象都为自己的数据成员保有存储空间;数据成员不会在对象之间共享。

    class Person{

    String name;

    double salary;

    }

    通过new关键字创建一个对象。如:

    Person p = new Person();

    (1)主成员的默认值

    某个主数据类型属于一个类成员,那么即是不明确进行初始化,也可以保证他们获得一个默认值。

    主类型

    默认值

    Boolean

    false

    Char

    '\u0000'(null)

    byte

    (byte)0

    short

    (short)0

    int

    0

    long

    0L

    float

    0.0f

    double

    0.0d

    如果一个变量作为类的成员变量,那么对于主类型一定会得到初始化,要特别注意初始化的值。对于局部变量则会得到一些随机值,如:int x;不会自动初始化为0。

    (2)方法

    方法的基本组成部分包括名字、自变量、返回类型以及主体。方法的基本形式为:

    返回类型 方法名(/*自变量列表*/) {/* 方法体 */}

    返回类型是指调用方法之后返回的数值类型。方法名是对具体方法的标识和引用。自变量列表列出****了想传递给方法的信息类型和名称。

    在Java中方法的调用形式为对象名.方法名

    1. 用句柄操作对象

    尽管Java是完全面向对象的。但是,操作的标识符实际指向一个对象的“句柄”,又称“引用”。句柄是可以独立存在的,并不是说,拥有一个句柄就必须有一个对象与之对应。比如,int i;定义了一个整型变量i,并不表示它一定有值。如,创建一个String类型的句柄:

    String s;

    这里只是创建了句柄,并没有创建对象。由于s并没有与之关联的对象,如果调用s将出现异常。所以,创建时需要进行初始化。

    String s = "hello";

    在Java中,通过new关键字创建对象,它将返回对象的引用(即句柄)。所以

    String s = new String("hello");

    创建了一个内容为"hello"的String对象,并将该对象的句柄(引用)交给了s保存。

    2. 数据存储的位置

    1.寄存器。最快的保存区域,位于处理器内部。寄存器的大小有限,由编译器的分配大小。

    2.堆栈。驻留在常规RAM(随机访问存储器)区域,通过“堆栈指针”可以改变大小。堆栈指针向下移动,会创建新的内存空间;向上移动,则释放内存空间。创建程序时,Java编译器必须准确地知道堆栈内保存的所有数据的“长度”和“存在的时间”,编译器由此生成相应的代码,以便移动指针。Java对象的句柄保存在其中,但是Java对象并不保存在堆栈中。

    3.堆。常规用途的内存池,其中保存了Java对象。编译器不知道也不需要知道从“内存堆”或“堆”里分配多少存储空间、数据存留多长时间。

    4.静态存储。静态指位于固定的位置(在RAM中)。程序运行期间,静态存储的数据将随时供调用。通过static关键字指出一个对象的特定元素是静态的。Java本身本不可能置于静态存储空间。

    5.常数存储。常数值通常置于程序代码内部,永远不会改变。

    6.非RAM存储。若数据完全独立于一个程序之外,则程序不运行时仍可存在,并在程序的控制范围之内。例如,流式对象和固定对象。

    二、对象

    对象的三个主要特性:

    •对象的行为——可以对对象施加哪些操作,或可以对对象施加哪些方法?

    •对象的状态——当时加那些方法时,对象如何响应?

    •对象标识——如何辨别具有相同行为与状态的不同对象?

    对象的行为是由可调用的方法定义的。每个对象都保存着描述当前特征的信息,这就是对象的状态。对象的状态不会自发改变。一个设计良好的类,它的对象只能通过调用方法实现,如果不经过方法调用就可以改变对象的状态,说明封装性受到了破坏。

    封装:将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方法。封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域。程序仅通过对象的方法域对象数据进行交互。

    对象中的数据称为实例域(instance field)或属性。操纵数据的过程称为方法(method)。对于每个特定的对象都有一组特定的实例域值(属性值),这些值的集合就是该对象的当前状态。

    类之间的关系

    类之间常见的关系:

    •依赖(“use-a”):一个类的方法操纵另一个类的对象。

    •聚合(“has-a”):一个类的对象包含另一个类的对象。

    •继承(“is-a”): 用于表示特殊与一般的关系。如果类A扩展类B(A继承B),类A不但包含类B的方法,还有扩展的方法。

    一个对象并没有实际包含一个对象,而仅仅引用一个对象。

    在Java中,任何对象变量的值都是都是对存储在另外一个地方的一个对象的引用。new操作符的返回值也是一个引用。

    以上这篇全面理解Java类和对象就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。相关阅读:

    html5 利用canvas实现超级玛丽简单动画

    C#浅拷贝和深拷贝实例解析

    Jquery实现select multiple左右添加和删除功能的简单实例

    在Linux上运行C#的方法

    win10预览版iso镜像中怎么加语言包?win10预览版iso镜像中添加语言包方法

    SQLSERVER中忽略索引提示

    Win10切换任务时怎么隐藏已打开窗口?

    Win10正式版安全模式怎么进入?简单快捷键方法方便搞定

    最简单的JavaScript图片轮播代码(两种方法)

    关于.NET的集合总结

    java编写简单的E-mail发送端程序

    Node.js实现简单聊天服务器

    js设置cookie过期及清除浏览器对应名称的cookie

    win10如何降级win7/win8?win10怎么退回上一版本?

    展开全文
  • 类和对象(数据是由表格组成的) 对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。 在一个表格中,会有表格的属性以及表格的内容。 如图中的表格所示,上面的学生姓名等属性就是一个类,而其中...

    类和对象(数据是由表格组成的)

    对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。
    在一个表格中,会有表格的属性以及表格的内容。
    在这里插入图片描述
    如图中的表格所示,上面的学生姓名等属性就是一个类,而其中的张三李四等表格中的数据就是一个一个的对象。
    表格是用来存储数据的,对象也是用来存储数据的,所以表格与对象存在对应关系。

    展开全文
  • Python虽然解释型语言,但从设计之初就已经一门...Python的面向对象特征如下:封装面向对象程序设计中的术语对象(Object)基本上可以看做数据(特性)以及一系列可以存取、操作这些数据的方法所组成的集合。传统...

    5a30940777512cd5caddd0c8fea17345.png

    Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象。正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的写法也是可以的,Python并不做硬性的限制。

    Python的面向对象特征如下:

    封装

    面向对象程序设计中的术语对象(Object)基本上可以看做数据(特性)以及由一系列可以存取、操作这些数据的方法所组成的集合。传统意义上的“程序= 数据结构 算法”被封装”掩盖“并简化为“程序=对象 消息”。对象是类的实例,类的抽象则需要经过封装。封装可以让调用者不用关心对象是如何构建的而直接进行使用。

    (视频教程推荐:python视频教程)

    继承

    类继承:

    继承给人的直接感觉是这是一种复用代码的行为。继承可以理解为它是以普通的类为基础建立专门的类对象,子类和它继承的父类是IS-A的关系。

    多重继承:

    不同于C#,Python是支持多重类继承的(C#可继承自多个Interface,但最多继承自一个类)。多重继承机制有时很好用,但是它容易让事情变得复杂。

    多态

    多态意味着可以对不同的对象使用同样的操作,但它们可能会以多种形态呈现出结果。在Python中,任何不知道对象到底是什么类型,但又需要对象做点什么的时候,都会用到多态。方法是多态的,运算符也是多态的。

    相关教程推荐:python教程

    展开全文
  • 当C r e a t e T h r e a d被调用时,系统创建一个线程内核对象。该线程内核对象不是线程本身, ...可以将线程内核对象视为关于线程的统计信 息组成的一个小型数据结构。这与进程和进程内核对象之间的关系相同的。
    当C r e a t e T h r e a d被调用时,系统创建一个线程内核对象。该线程内核对象不是线程本身,
    而是操作系统用来管理线程的较小的数据结构。可以将线程内核对象视为由关于线程的统计信
    息组成的一个小型数据结构。这与进程和进程内核对象之间的关系是相同的。
    展开全文
  • 在Access数据库中真正用于存储数据的数据库对象是“表”。Access中,表是数据库的基本对象,记录组成,记录字段组成,可以用来存储数据库的数据,故又称数据表。本文操作环境:Windows7系统、Dell G3电脑、...
  • Java对象保存在内存中时,以下三部分组成: 1,对象头 2,实例数据 3,对齐填充字节 1,Mark Word Mark Word记录了对象和锁有关的信息,当这个对象被synchronized关键字当成同步锁时,围绕这个锁的一系列操作都...
  • 一个数据元素可以若干数据组成数据项还可以分为组项和基本项,组项可以更小的组项和基本项组成,而基本项则具有独立含义的最小标识单位。 数据元素的集合构成一个数据对象,它针对某种特定的应用。注意,...
  • Java对象组成

    千次阅读 2021-01-20 13:25:01
    Java对象保存在内存中时,以下三部分组成 1,对象头 2,实例数据 3,对齐填充字节 一,对象头 java的对象以下三部分组成: 1,Mark Word 2,指向类的指针 3,数组长度(只有数组对象才有)...
  • 数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它...
  • Java对象组成部分

    千次阅读 2020-04-09 15:52:30
    每一个对象由对象头、对象的实例数据区和对齐填充字节这三部分组成。 1. 对象对象三部分组成: Mark Word:记录对象和锁的有关信息。当一个对象被 synchronized 关键字加锁之后,围绕锁的操作就都会和Mark...
  • 一个数据元素可以若干个数据组成数据是数据不可分割的最小单位。(一行记录可以有若干列) 数据对象 具有相同数量和类型的数据项的数据元素的集合,是数据的子集。(有若干条记录的一张表...
  • 在大话数据结构中的描述: ...数据项:一个数据元素可以若干个数据组成数据对象性质相同的数据元素的集合,是数据的子集。 客观解释: 假设有两张表,A表为人员表,B表为课程表,这两张表就是数据 而单...
  • 对象由标识(identity)、类型(type)、值(value)组成。 标识:用于标识对象,标识唯一的;通常它对应对象在内存中的位置。 类型:代表所存储的对象数据类型 ;对象的取值范围受限于所取的数据类型。 值:表示对象...
  • 对象是存储数据和有关如何处理数据的信息的数据类型。是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象一组属性和对这组属性进行操作的一组服务组成。语法在 PHP 中,必须明确地声明...
  • 数据集由数据对象组成,一个数据对象代表一个实体。 数据对象:又称样本、实例、数据点或对象。 数据对象以数据元组的形式存放在数据库中,数据库的行对应于数据对象,列对应于属性。 属性一个数据字段,表示...
  • 其它课程中的python---2、NumPy模块一、总结一句话总结:numpy在数组计算方面又快又方便1、NumPy中的ndarray一个多维数组对象,该对象由哪两部分组成?-实际的数据-描述这些数据的元数据2、为什么要使用numpy?比...
  • Atitit m4a文件元数据结构 目录 1. 一、基本概念 1 2. MP4文件由若干称为Atom(或称为box)的数据对象组成, 2 2.1. MP4文件概述 2 ...2.4. mp4是由一个个“box”组成的, 5 2.5. 典型简化mp4 5 2....
  • 2.数据元素(Data Element):是数据的基本单位,数据元素用于完整的描述一个对象,比如一个学生表,学生表也是由 数据元素和数据组成的. 3.数据项(Data ltem):是组成数据元素的!例如 学生表 的中的 "学号 ...
  • //数据结构基本概念 #include<iostream> using namespace std; /* 数据 – 程序的操作对象,用于描述客观事物 ...数据项:一个数据元素若干数据组成 数据元素:组成数据对象的基本单位 数据对...
  • 数据对象与属性类别

    2020-12-24 22:20:21
    通常数据对象用属性描述,一个数据对象代表一个实体,多个数据对象组成数据集。如果数据对象存放在数据库中,则它们是数据元组。也就是说数据表的每一行对应于数据对象,而每一例则对应于属性。 属性的定义 属性...
  • 这里写目录标题数据二级目录三级目录 数据 二级目录 三级目录 1.数据是信息的载体,是描述客观事物属性的数...3.数据对象是具有相同性质的数据元素的集合,是数据的一个子集。 4.数据类型是一个值的集合和定义在此集合
  • 对象以及数据结构的区别 对象和数据结构在面向对象的过程中慢慢的变得不是那么明显了,...数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。
  • 数据模型的组成要素

    2020-07-06 17:13:06
    数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。 1.1 数据结构 数据结构描述数据库的组成对象以及对象之间的联系,也就是说,数据结构描述的内容有两类:一类对象的类型、内容、性质有关...
  • redis数据结构对象

    2018-05-14 10:13:00
    redis的数据结构对象包括 字符串 列表 哈希 集合 有序集合五种数据结构对象底层的8种数据结构组成这五种对象,每种对象的实现不同的数据不一样的。 结构 typedef struct redisObject{ unsigned type:4 ;...
  • 数据挖掘中的数据类型  数据挖掘中有一个很重要的步骤,...1. 总是从概念开始 数据集:通常指的是数据库,数据集是由数据对象组成。 数据对象:通常指的是数据表中一行数据,一个数据对象代表一个实体,例如会员,
  • OSS费用存储费用、流量费用、请求费用和数据处理费用组成,如下图所示: OSS对象存储费用账单 OSS的计费方式分为两种,即按量付费和包年包月,选择的计费方式不同,实际的收费项目也有所差异。 参考...
  • 服务数据对象 SDO

    2019-10-02 15:17:08
    一个SDO两个带有不同CAN标识符的CAN数据组成。这确认的通讯服务。使用SDO,可以在广播介质CAN上建立起两个CANopen设备之间的点对点客户机服务器通讯。被访问对象字典的拥有者充当SDO服务器。访问其它设备对象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,216
精华内容 4,486
关键字:

对象是由数据组成