一、论述
在我们刚接触Java语言的时候,所有的教材或老师都会和你讲这样一点:Java是一门面向对象的编程语言。用2015年比较流行的网络语就是:Java是一门面向对象的编程语言、Java是一门面向对象的编程语言、Java是一门面向对象的编程语言,重要的事说三遍!!!
那Java到底是怎样的一门面向对象的编程语言呢,鄙人给出的结论是Java不是纯面向对象的。也许,已经有前辈提出了和我一样的结论,这没关系。下面通过一个具体的实例进行证明一下我的结论。
二、实例证明
1、定义一个通用的接口:CompareMethod
/** * Created by user on 2016/1/20. */ public interface CompareMethod { public boolean isEqual(int x, int y); public boolean isEqual(Integer x, Integer y); }
2、以Java语言和Scala语言分别实现这个接口
/** * Created by user on 2016/1/20. */ public class CompareMethodWithJava implements CompareMethod{ @Override public boolean isEqual(int x, int y) { return x == y; } @Override public boolean isEqual(Integer x, Integer y) { return x == y; } }
/** * Created by user on 2016/1/20. */ class CompareMethodWithScala extends CompareMethod{ override def isEqual(x: Int, y: Int): Boolean = { x == y } override def isEqual(x: Integer, y: Integer): Boolean = { x == y } }
3、分别给出对应的测试用例
/** * Created by user on 2016/1/20. */ public class OptWithJava { public static void main(String args[]){ CompareMethodWithJava cmwj = new CompareMethodWithJava(); System.out.println("1>>>>: " + cmwj.isEqual(10,10)); Integer x = new Integer(10), y = new Integer(10); System.out.println("2>>>>: " + cmwj.isEqual(x,y)); } }
/** * Created by user on 2016/1/20. */ object OptWithScala extends App{ def result1() : Boolean = { def x: Int = 10 def y: Int = 10 new CompareMethodWithScala().isEqual(x,y) } println("1<<<<: " + result1()) def result2() : Boolean = { def x: Integer = new Integer(10) def y: Integer = new Integer(10) new CompareMethodWithScala().isEqual(x,y) } println("2<<<<: " + result2()) }
三、测试结果比较
1、运行Java类型的测试用例,结果如附件中的图一
2、运行 Scala类型的测试用例,结果如附件中的图二
3、由此可以证明:Java不是纯面向对象语言。
相关推荐
面向对象软件工程是一门结合了面向对象设计原则、统一建模语言(UML)、设计模式和Java编程语言的软件开发方法论。在面向对象软件工程的学习和实践中,理解建模的目的、编程语言在软件开发中的作用、知识获取的非...
面向对象软件工程(使用UML、模式与Java)是一门深度探索软件开发核心原则与实践的学科,其目的是为了提高软件质量和开发效率。通过构建模型,面向对象软件工程旨在简化复杂性,创建一个忽略不相关细节的现实简化...
在实际应用中,混合使用Java和R语言可以让电力系统负荷预测软件开发人员利用Java的面向对象特性以及R语言在统计分析上的优势,这将为复杂的数据分析提供强有力的支撑。在电力系统的稳定运行中,预测的准确性极为重要...
2. 面向对象:Java是纯面向对象的语言,它支持封装、继承和多态等面向对象的特性,提供了强大的软件工程支持。 3. 平台无关性:Java通过Java虚拟机(JVM)实现跨平台运行,编译后的Java字节码可以在任何支持Java的...
1. Java面向对象程序设计课程的重要性与目标 “Java面向对象程序设计”作为计算机应用技术专业中的一门核心技能课程,对于培养学生的软件工程师岗位核心能力至关重要。课程旨在为学生提供毕业后从事软件开发工作的强...
Java 实验报告 Java 实验报告是指使用 Java 语言编写的实验报告,旨在通过实验方式来验证 Java 语言的基本...实验结果证明了 Java 语言的面向对象编程思想和基本概念的正确性,为今后从事实际工作打下了坚实的基础。
Java语言的主要特点是跨平台、面向对象、简单易学,以及安全性高,这些特性使得它在互联网时代迅速崛起并获得了巨大的成功。 1.1 Java语言的发展史 Java语言的成功与互联网的兴起密切相关。在1995年,随着Web的...
2. Java语言是一种被广泛使用的面向对象通用程序设计语言,Java没有对消息机制提供直接支持,尽管可以使用函数模拟面向对象的消息机制,但与真正的面向对象消息机制相比,熟悉事件驱动程序的开发者仍然很难直接根据...
Java面向对象程序设计中的设计模式是软件开发中的一种重要概念,它们是经过实践验证的解决方案模板,用于解决在特定场景下反复出现的问题。设计模式的使用有助于创建更易维护、可扩展性和可重用的系统。第8章主要...
Java继承了C语言的语法结构,吸收了C++的面向对象思想,同时引入了自动内存管理、平台独立性等创新特性,使得Java成为了一门既强大又易于使用的语言。 #### Java的关键特性 1. **自动内存管理**:Java通过垃圾回收...
Java作为一种广泛应用的面向对象编程语言,虽然强大且灵活,但在标准中并未直接提供消息机制的支持。这导致了在面向对象建模中实现消息机制较为不便。本文介绍了一种基于Java的面向对象消息机制的实现方法,该方法...
Java编程语言自诞生之日起,就以其简单性、面向对象、可移植性、健壮性、高性能等特征广泛应用于计算机软件开发领域,推动了社会的发展。本文将详细探讨Java的含义、特点,以及在计算机软件开发中的相关技术,并通过...
Simula的这些特性为后来的面向对象语言如C++、Java等奠定了基础,可以说Simula是现代面向对象编程的一个重要里程碑。 #### 三、Simula语言的不同版本 Simula语言经历了两个主要版本的发展: 1. **Simula I**:这...
首先,Java编程语言是一种通用的面向对象编程语言,它从C++语言衍生而来,继承了C++的许多特性,比如面向对象的设计原则。Java语言不仅吸收了C++的长处,还避免了C++在内存管理上的复杂性,使得程序开发更加简单和...
【标签】"java"和"javaoop"表明这个项目涉及到Java语言和面向对象编程(Object-Oriented Programming, OOP)。Java是一种广泛使用的多用途编程语言,尤其适合大型企业级应用。OOP是Java的核心特性,它通过类、对象、...