`

证明Java不是纯面向对象语言

阅读更多

一、论述

       在我们刚接触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不是纯面向对象语言

  • 大小: 5.7 KB
  • 大小: 5.6 KB
分享到:
评论

相关推荐

    面向对象软件工程(使用UML,模式与Java)全套课后习题

    面向对象软件工程是一门结合了面向对象设计原则、统一建模语言(UML)、设计模式和Java编程语言的软件开发方法论。在面向对象软件工程的学习和实践中,理解建模的目的、编程语言在软件开发中的作用、知识获取的非...

    面向对象软件工程(使用UML,模式与Java)全套课后习题答案

    面向对象软件工程(使用UML、模式与Java)是一门深度探索软件开发核心原则与实践的学科,其目的是为了提高软件质量和开发效率。通过构建模型,面向对象软件工程旨在简化复杂性,创建一个忽略不相关细节的现实简化...

    电力系统负荷预测软件中R语言与Java的接口方法研究.pdf

    在实际应用中,混合使用Java和R语言可以让电力系统负荷预测软件开发人员利用Java的面向对象特性以及R语言在统计分析上的优势,这将为复杂的数据分析提供强有力的支撑。在电力系统的稳定运行中,预测的准确性极为重要...

    java基础课件ppt

    2. 面向对象:Java是纯面向对象的语言,它支持封装、继承和多态等面向对象的特性,提供了强大的软件工程支持。 3. 平台无关性:Java通过Java虚拟机(JVM)实现跨平台运行,编译后的Java字节码可以在任何支持Java的...

    基于岗位核心能力的“Java面向对象程序设计”课程设计与实践.pdf

    1. Java面向对象程序设计课程的重要性与目标 “Java面向对象程序设计”作为计算机应用技术专业中的一门核心技能课程,对于培养学生的软件工程师岗位核心能力至关重要。课程旨在为学生提供毕业后从事软件开发工作的强...

    java实验报告.doc

    Java 实验报告 Java 实验报告是指使用 Java 语言编写的实验报告,旨在通过实验方式来验证 Java 语言的基本...实验结果证明了 Java 语言的面向对象编程思想和基本概念的正确性,为今后从事实际工作打下了坚实的基础。

    第一讲 Java语言概述

    Java语言的主要特点是跨平台、面向对象、简单易学,以及安全性高,这些特性使得它在互联网时代迅速崛起并获得了巨大的成功。 1.1 Java语言的发展史 Java语言的成功与互联网的兴起密切相关。在1995年,随着Web的...

    基于Java的对象模型消息机制实现.pdf

    2. Java语言是一种被广泛使用的面向对象通用程序设计语言,Java没有对消息机制提供直接支持,尽管可以使用函数模拟面向对象的消息机制,但与真正的面向对象消息机制相比,熟悉事件驱动程序的开发者仍然很难直接根据...

    Java面向对象程序设计第2版第8章-几个重要的设计模式.ppt

    Java面向对象程序设计中的设计模式是软件开发中的一种重要概念,它们是经过实践验证的解决方案模板,用于解决在特定场景下反复出现的问题。设计模式的使用有助于创建更易维护、可扩展性和可重用的系统。第8章主要...

    java学习指南.pdf

    Java继承了C语言的语法结构,吸收了C++的面向对象思想,同时引入了自动内存管理、平台独立性等创新特性,使得Java成为了一门既强大又易于使用的语言。 #### Java的关键特性 1. **自动内存管理**:Java通过垃圾回收...

    基于Java的对象模型消息机制实现

    Java作为一种广泛应用的面向对象编程语言,虽然强大且灵活,但在标准中并未直接提供消息机制的支持。这导致了在面向对象建模中实现消息机制较为不便。本文介绍了一种基于Java的面向对象消息机制的实现方法,该方法...

    基于Java编程语言下计算机软件开发技术的思考.pdf

    Java编程语言自诞生之日起,就以其简单性、面向对象、可移植性、健壮性、高性能等特征广泛应用于计算机软件开发领域,推动了社会的发展。本文将详细探讨Java的含义、特点,以及在计算机软件开发中的相关技术,并通过...

    simula语言的诞生

    Simula的这些特性为后来的面向对象语言如C++、Java等奠定了基础,可以说Simula是现代面向对象编程的一个重要里程碑。 #### 三、Simula语言的不同版本 Simula语言经历了两个主要版本的发展: 1. **Simula I**:这...

    Java编程语言在计算机软件开发中的应用 (4).pdf

    首先,Java编程语言是一种通用的面向对象编程语言,它从C++语言衍生而来,继承了C++的许多特性,比如面向对象的设计原则。Java语言不仅吸收了C++的长处,还避免了C++在内存管理上的复杂性,使得程序开发更加简单和...

    java写的门禁系统源码

    【标签】"java"和"javaoop"表明这个项目涉及到Java语言和面向对象编程(Object-Oriented Programming, OOP)。Java是一种广泛使用的多用途编程语言,尤其适合大型企业级应用。OOP是Java的核心特性,它通过类、对象、...

Global site tag (gtag.js) - Google Analytics