java特征

简介: java的核心是面向对象,与之相对的是面向过程的编程,在对整个java编程没有足够的理解和运用的情况下恐怕没办法很好的理解这两个概念。 在我的初步理解中,写一个程序就例如做一件事情,面向过程的思想或许就是指这一步做什么,下一步又做什么,直到完成这件事,突出的是做的步骤;而面向对象的思想则是这个人做什么,那个人做什么,直到合起来完成这件事;虽然结果都是完成这件事,但是一个着重点是做的步

java的核心是面向对象,与之相对的是面向过程的编程,在对整个java编程没有足够的理解和运用的情况下恐怕没办法很好的理解这两个概念。


在我的初步理解中,写一个程序就例如做一件事情,面向过程的思想或许就是指这一步做什么,下一步又做什么,直到完成这件事,突出的是做的步骤;而面向对象的思想则是这个人做什么,那个人做什么,直到合起来完成这件事;虽然结果都是完成这件事,但是一个着重点是做的步骤,而另一个则是谁做什么。


所有的面向对象编程语言,都包含着三个原则或者说是特征、机制,分别是封装、继承和多态。


java中一切皆对象,类是对象,接口是对象,属性是对象,方法也是对象。而对象是什么,对象就是object,就是我们通俗所说的东西。什么是东西?可以说宇宙是个东西,人是个东西,一件事也是个东西,一切皆对象,也就是一切皆东西。


封装的简单理解就是把一些零散的却又有一定关系的东西整合起来作为一个整体来使用,或者这些东西可以称之为对象。就好比把一辆车当作一个程序,它上边有非常多的零件,比如塑胶件、五金件等,但是我们通常只会说方向盘、轮胎,而方向盘并不是最小的个体,他们是由更小的零件组合的,把这些零件组合成方向盘来实现掌控方向的过程就是封装。


继承的概念就类似于我们生活中常说的继承,也就是子类会获得父类的部分东西,但是却又不是全部。例如我们可以继承父亲的部分基因从而长的像父亲,也可以继承父亲的关系网甚者财产,但是他的兄弟却不能是我们的兄弟,还是会有所不同。有一点要注意的是,这里说的是父类而不是说的父亲,这是有很大区别,所谓的父类,父亲是,爷爷也是,爷爷的爷爷一样是。


据我理解, 多态的概念通常涉及到接口和实现的问题,也就是说一个接口可以有多种不同的实现形态。一样可以拿人做个例子,人有身份,而身份是个抽象的东西,是个具有相对性的概念,对于他的朋友来说,他的身份就是朋友,对于他的晚辈来说,他就是个长辈,而对于他的同事来说,他就是个同事。这个人是个接口,身份就是抽象方法,其他不同的人就是不同的实现这个借口的方法,具体的身份就是具体的实现状态。同一个人,不同的身份,这就是多态。


既然多态通常跟接口有关,那么接口是什么?接口可以看作是特殊的抽象类,也就是一种所有方法都是抽象方法的抽象类。需要注意的是,抽象类可以有几种形式,可以没有抽象方法,可以有一部分抽象方法,也可以全部是抽象方法。可是接口到底是什么?目前只能再打个比方,我们通常所说的USB接口,就是一个接口,因为它也有多态,当我们用他来连接鼠标或键盘的时候它的功能是一种状态,当我们用它连接数据线传输数据时又是一种状态。


封装、继承、多态原本就是一些概念,概念是由人定义的,所以不同的人具体理解可能不一样,但是大体上是那么回事就可以了。

目录
相关文章
|
Java 程序员 编译器
Java三大特征之继承【超详细】
Java三大特征之继承【超详细】
54 0
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
74 2
|
2月前
|
存储 安全 Java
Java 常用集合分类
Java 常用集合分类
26 3
|
6月前
|
Java 数据处理 数据库
java8处理数据集
java8处理数据集
|
6月前
|
机器学习/深度学习 数据采集 算法
使用 Java 实现机器学习算法
【4月更文挑战第19天】Java在数据驱动时代为机器学习提供支持,具备丰富的数学和数据结构库,适用于实现线性回归、决策树、SVM和随机森林等算法。实现时注意数据预处理、模型选择、评估指标和可视化。利用Java的库和编程能力可构建高效模型,但需按问题需求选择合适技术和优化方法。
189 0
|
存储 Java
Java变量分类
Java变量分类
75 0
|
6月前
|
存储 算法 Java
Java打造的胜率预测系统
Java打造的胜率预测系统
39 0
|
6月前
|
Java
【JAVA】面向对象的三大特征
【JAVA】面向对象的三大特征
|
SQL Rust Java
C# 逼近 Java
C# 是一个严重被低估的全能型编程语言,C# 和 Java 之间的差距越来越小,达到了历史新低,目前两者的差距仅为 1.2%。TIOBE CEO Paul Jansen 认为,如果这一趋势继续保持,那么 C# 将在两个月后超过 Java。
301 2
|
Java
java三大特征之封装
java三大特征之封装
53 0
下一篇
无影云桌面