Java课程论文
冉磊            1204012022            计本(2)班
一、前言
在大三第一学期,我们接触到了《java语言程序设计》这门课,既然把这门课安排在了相对而言学习比较重要的大三,可见这门课的重要性。经过一个学期的学习,我们多多少少了解到java语言的精髓。作为大三的学生,我们在大一大二学习过了C和C++语言,在学习过程中不难发现java的优点,最重要的就是java语言语法规则不复杂,简单易学,这对于初学者来说很重要。
经过一个学期学习,我也学习到了很多java的知识,认识到java语言的重要性。在此,我想对java中的类和对象进行一个我个人的学习心得。
二、正文
(一)对象
先来介绍对象的概念。对象是什么,对象就是客观世界中实体的映射。现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,人,狗等等。所有这些对象都有自己的状态和行为。拿狗来举例,它的状态有:品种、颜、名字,行为有:叫、跑和摇尾巴。对比现实对象和软件对象,它们十分相似。软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。
对象具有三个要素或者称为三大特性。分别为状态、行为和标志。
对象的状态是对象的静态属性,通常用变量来表示该对象内部的各种信息。每个对象应有其自己的内部变量,这些变量的值表示了该对象所处的状态。当对象的变量值发生了改变,则表示该对象状态发生了改变。例如,对于一台计算机主机,表示它的状态的变量有型号、大小、颜等。
对象的行为是对象的动态属性,又称为对象的操作。对象通过某种操作来设置或改变对象的状态。例如,计算机的开机或者关机便是一种操作。对象的行为在计算机中用方法来表示,方法便是一种函数,对象的行为或操作被定义在函数体内。面向对象的方法中,对象内部包
含了描述状态的各种属性和对其属性进行操作的若干方法。另外,还应有一个对象与其他对象进行通信的接口,一遍用外部环境来改变对象的状态。
对象的标志是用来区分不同对象的标识符。每一个对象都具有一个仅属于它的唯一的标志。对象的标志是用来对象名来表示的。对象的上述三大属性:状态、行为和状态,在计算机实现分别用对象的变量、对象的方法和变量名来表示。这便是对象的三大要素。
面向对象的三大特征
封装封装是把过程和数据组织起来,对数据的访问只能通过已定义的方法。
封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象
大一java期末考试题及答案      继承:新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类)。
继承可以增加代码的重用性,在拥有父类的功能基础上增加自己的功能。
多态:发送消息给某个对象,让该对象自行决定响应何种行为。可以理解为横向上的重载,纵向上的覆盖。使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了程序方法同名问题
那么对象的内存是如何分配的呢?对象保存在栈内存中,数据成员保存在堆内存中。每个对象在内存里都有自己的一份数据拷贝。方法成员保存在代码区,在内存中只有一份拷贝,同一个类的所有对象共享同一段程序代码。this变量代表对象本身。每一个方法成员内部都有一个this引用变量,指向当前的对象。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象,Java编译器会将该变量传递到实例方法。方法的代码接着可以与this所代表的对象的特定数据建立关联。
在Java中,对象作为参数的传递效果总是按引用传递。只有对象引用的复制,不会发生对象实例的复制。
优点:高效(无需制作副本);缺点:不安全(方法调用有副作用)
      用final修改对象参数,仍无法改正以上缺点,因为这样仅仅保证了对象引用没有用,对
象实例仍可能被改变。解决方法:在方法里复制对象,达到按值传递对象的效果。优点:安全; 缺点:低效(需要制作副本,更多的手工编程