Java如何实现面向对象思想

“在JAVA中,我们所做的所有工作,就是定义类,创建这些类的对象,并传消息给这些对象”

对于JAVA面向对象思想的学习,依照此理解顺序

1、理解面向对象的总体思想与主要特性,例如封装,继承,多态,超类,集合,泛型,多线程等等。

2、接下来,也就是本章节讲解的内容,我们需要进一步了解,利用JAVA语言本身进行面向对象程序设计的过程。

操纵对象的“引用”

  任何一种编程语言,都拥有其操纵内存中元素的方式。通过引用对象操作内存,可以把引用视为一个遥控器,将对象视为一个电视。

  最简单的方式创建一个字符串对象的引用

  String s; 该代码中,String作为一个类型,而s是一个引用。注意!!在这里,s并不是一个对象,它只是一个引用,一个没有指定电视机的遥控器!!!!

创建一个对象及存储位置

  String s = new String("ss");  //创建了字符串对象的引用s,指向存储着内容“ss”的String对象。

  那么,数据存储在什么地方呢?

  (1)、寄存器,最快的存储区,位于CPU内部,数量有限,在JAVA中无法手动分配。

  (2)、堆栈,位于通过RAM(Random Access Memory)中,Java的对象引用存储在堆栈中。

  (3)、堆,是一种通用的内存池,存储所有的JAVA对象

  (4)、常量存储,常量值通常存放在程序代码内部,这样不会被改变,保证了安全性。

  (5)、非RAM存储,代表是流对象持久化对象,它们都游离于程序的控制以外。在流对象中,对象转换为字节流,并在不同机器中传输数据;在持久化对象中,对象被放置在磁盘上,并持久保持自己的状态。

特例:基本类型(基本类型在堆中只存储“值”,而不是对象)

  在程序设计过程中经常使用到的基本类型,普通类型将“对象”存储在“堆”中,而基本类型是创建一个没有引用的“自动变量”,这个变量直接存储值,并置于堆栈中(和引用宝宝们住在一起)。

  JAVA固定了每种基本类型所占用的空间大小,并且不可改变,基本类型共8个,分别是boolean,char,byte,short,int,long,float,double,void。创建一个基本数据类型:

  int  i = 1;

  此时,变量 i 的占用存储空间大小为32bits,存储于堆栈,其值为1 但它还不是一个对象;

  如果想用对象来表示一个基本数据类型,则需要使用包装器类。包装器类使得我们可以在“堆”中创建一个普通对象,并用它来表示基本数据类型。例如:

  Integer i = new Integer(1);

  了解完基本数据类型,再看看另外一方面,几乎所有的编程语言都支持定义数组,那么JAVA中的数组又有什么特征?当JAVA创建了一个数组对象,其实也是创建了一个引用数组。JAVA确保数组会被初始化,且不能在它的范围之外被访问。JAVA会对数组执行范围检查,一旦调用到引用为NULL(比如调用了越界的数据对象引用),即会报错。

  默认值:属于基本数据类型的变量具有默认值,但要在它们作为类的成员使用时,JAVA才能确保给定其默认值,也就是说,变量作为类成员时会获得初始化,而局部变量则不会获得初始化(比如方法中的基本数据类型变量一定要手动初始化,不然系统就会报错)。

自动销毁对象

  对象的生命周期问题在JAVA中得到了自动化的解决。JAVA中有一个垃圾回收期,用来监视new创建的所有对象,并且辨别不再使用的对象。在恰当的时间,释放这些对象的内存空间。如此一来,JAVA程序员不需要操心内存分配与内存释放问题,只需要创建对象,然后使用对象。

创建一个类(新类是新的引用数据类型)

创建一个类表示的语境:“我将告诉你,一个新类型的对象会是什么样子的”。

创建完一个新的数据类型,我们就可以创建引用和指向对象,而在JAVA中,我们所做的所有工作,就是定义类,创建这些类的对象,并传消息给这些对象。(超级精辟)

方法、参数和返回值

“方法”其实就是“函数”,是类中的子程序。方法包括①、名称   ②、参数   ③、返回值   ④、方法体

方法名和参数列表唯一地标识出某个方法。

假设现在有1个方法method(),它的返回值是boolean,有一个和method()方法同属于一个类的对象a,进行调用 boolean b = a.method();这句代码通俗的理解就是发送消息给a对象,命令它调用己身的method()方法。

我们了解如何编写一个简单的Java程序之后,对其基本思想也有一个总体的认识,但是如果想让程序更灵活,有逻辑性,这还不够,所以我们接下去还要额外去了解JAVA对语言逻辑所提供的支持。

原文地址:https://www.cnblogs.com/Levierx/p/9858531.html

时间: 2024-10-08 07:30:44

Java如何实现面向对象思想的相关文章

Java 学习之面向对象思想、类、对象

一.首先我们先说说面向过程 面向过程”(Procedure Oriented)是一种以过程为中心的编程思想.“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承.多态),并且它们不允许混合持久化状态和域逻辑.就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 该思想适用与解决简单问题,当程序大到一定程度的时候,其调试和维护就很困难.该思想更贴近计算机,不利于大规模的程序设计.对代码重用支持的不够好. 二.面向对

Python, Java, C++, Perl 面向对象思想比较

面对对象语言的设计哲学通常分为以下两种. 第一种思路是基类的作者定下一系列的规则,规定使用该基类的人(派生类的作者)可以干什么事,不能干什么事. C++,和 Java 就是这一阵营的主要代表.比如说,C++中类定义中的 public, protected, private, virtual 等关键字就是 所谓的规则,规定了类的用户可以使用的成员,必须继承接口,或者实现等等. 这些规则强制类的用户调用或使用基类作者所允许的成员. 这样的好处在于,当错误使用发生的时候,编译器会发出牢骚,进而阻止错误

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

Java - 面向对象思想进行JDBC编程

mysql-connector-java-5.1.7-bin.jar jdbc.properties driver=com.mysql.jdbc.Driver jdbcUrl=jdbc\:mysql\://localhost\:3306/lesson user=root password= JDBCTools.java package 面向对象思想进行JDBC编程; import java.io.IOException; import java.io.InputStream; import ja

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

Java面向对象思想

Java的核心思想,面向对象思想. Java面向对象的最高境界,万物皆对象. 对象:现实中随处可见的事物都可以叫对象,对象就是实体的事物,人.小鸟.桌子.大树.楼房等等.对象又有自己的属性行为,属性行为又分为动态行为和静态行为.人的年龄姓名性别身高等属性是静态的,人可以唱歌,游泳,哭泣等行为是动态的. 对象在系统中是用来描述客观事物的一个实体,它是构成系统的一个基本单位.它也是由一些基本属性和对这些属性进行操作的一些方法来构成. 类是对对象属性和行为(方法)的载体,具有相同属性和行为(方法)的实

黑马程序员----java基础----面向对象思想和类的概述

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 面向对象(掌握) (1)面向对象 面向对象是基于面向过程的编程思想. 面向对象和面向过程的区别:面向过程强调的是每一个功能的具体步骤.面向对象强调的是对象,然后由对象去调用功能. (2)面向对象的思想特点 A:是一种更符合我们思考习惯的思想 B:把复杂的事情简单化 C:让我们从执行者变成了指挥者 举例: 买电脑 面向过程:了解电脑---了解自己的需求---对比电脑参数---去中关村买电脑--买

java 28 - 1 设计模式 之 面向对象思想设计原则和模版设计模式概述

在之前的java 23 中,了解过设计模式的单例模式和工厂模式.在这里,介绍下设计模式 面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则 单一职责原则 开闭原则 里氏替换原则 依赖注入原则 接口分离原则 迪米特原则 单一职责原则 其实就是开发人员经常说的"高内聚,低耦合" 也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个.在设计模式中,所有的设计模式都遵循这一原则. 开闭原则 核

JAVA的面向对象思想

Java的面向对象思想如何树立 要知道Java面向对象的思想,那么我感觉应该对比着来学习. 首先我们要区分一下"基于对象"和"面向对象"的区别. 基于对象,通常指的是对数据的封装,以及提供一组方法对封装过的数据操作.就比如 C 的 IO 库中的 FILE * 就可以看成是基于对象的. 而面向对象呢,则在基于对象的基础上增加了多态性.多态就是可以用统一的方法对不同的对象进行同样的操作.当然,这些对象不能完全不同,而需要有一些共性,只有存在了这些共性才可能用同样的方法去