java的类和对象怎么理解,java对象和类的概念
00-1010一、面向对象描述二。类和对象的基本概念。类别的定义和使用1。第二课的简单理解。类别3的定义。对象的实例化4。类的三个特征封装了继承多态性。
00-1010面向对象是最流行的编程方法,现在几乎所有的应用都是面向对象的。最早的面向对象概念其实是IBM提出的,70年代在Smaltalk语言中应用。然后按照面向对象设计的思想,形成了C,C产生了Java这种面向对象的编程语言。
然而,在面向对象设计之前,面向过程的设计被广泛使用,面向过程的设计只针对于为自己解决问题。面向过程的操作是基于程序基本功能的实现,在实现之后完成,不考虑修改的可能性。它是面向对象的,更多的是关于子模块的设计。每个模块都需要独立存在,可以重用。因此,面向对象开发更像是一种标准的开发模型。
在面向对象的定义中,还规定了一些基本特征:
封装:保护内部操作不被破坏。传承:在原有基础上继续拓展。多态性:特定范围内概念的转换。
面向对象开发有三个过程:OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)。
目录
类:它是概念的抽象集合,代表一个共同的产品,其中定义了属性和行为(方法)。
对象:一个物体是个性的表现,这意味着一个独立的个体。每个对象都有自己独立的属性,用来区分不同的对象。
一、面向对象的描述
00-1010类是对一个对象进行描述的。主要描述什么属性(外貌大小等。)以及一个对象有什么功能(做什么)。
例如:
洗衣机可以算是一个品类。然后属性就是这个洗衣机的品牌,长度,宽度,颜色等等。功能:洗衣、烘干等。
二、类和对象的基本概念
用Java定义类,用关键字class来完成。语法如下:
忽略错误,因为它是中文的。
class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称为类的成员方法。
看一个例子:定义一个学生类。
洗衣机类在计算机中用Java语言定义,然后用javac编译成. class文件,在JVM的基础上可以被计算机识别。然后,类定义完成后,就不能直接使用了。如果你想使用它,你必须依赖对象。然后,由于类属于引用数据类型,对象的生成格式(两种格式)如下:
1.格式1:声明和实例化对象。
2.格式2:先声明对象,然后实例化。
引用数据类型和基本数据类型的最大区别是引用数据类型需要分配和使用内存。所以关键字new的主要作用是分配内存空间,也就是只要使用引用数据类型,就要用关键字new来分配内存空间。
00-1010生成实例化对象后,可以对类进行如下操作:对象.属性:它表示调用类中的属性;对象.方法():意味着在类中调用一个方法。
例如,要操作该类:
运行结果如下:
因为我没有初始化我的学号,所以是空的。
三、类定义和使用
00-1010封装字面意思是打包,它的特长是信息隐藏,即利用抽象数据类型将数据和基于数据的操作封装在一起,形成一个不可分割的独立实体。数据被保护在抽象数据类型内部,内部细节尽可能隐藏,只保留一些外部接口与外界连接。系统中的其他对象只能通过包装在数据之外的授权操作与这个封装的对象进行通信和交互。也就是说,用户不需要知道对象内部的细节,但是可以通过它的外部接口访问对象。
对于封装,一个对象封装了自己的属性和方法,所以可以不依赖其他对象来完成。
成自己的操作。使用封装有下面几个好处:
继承
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码,能够大大的提高开发的效率。
继承所描述的是is-a的关系,如果有两个对象A和B,若可以描述为A是B,则可以表示A继承B,其中B是被继承者称之为父类或者超类,A是继承者称之为子类或者派生类。
实际上继承者是被继承者的特殊化,它除了拥有被继承者的特性外,还拥有自己独有的特性。例如猫有抓老鼠、爬树等其他动物没有的特性。同时在继承关系中,继承者完全可以替换被继承者,反之则不可以,例如我们可以说猫是动物,但不能说动物是猫就是这个道理,其实对于这个我们将其称之为向上转型。
多态
多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。
所以对于多态我们可以总结如下:指向子类的父类引用由于向上转型了,它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用是不能使用的,尽管是重载该方法。若子类重写了父类中的某些方法,在调用该些方法的时候,必定是使用子类中定义的这些方法(动态连接、动态调用)。
对于面向对象而言,多态分为编译时多态和运行时多态。其中编辑时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是我们所说的多态性。
到此这篇关于浅谈java类和对象的文章就介绍到这了,更多相关java类和对象内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。