java 纯面向对象_Java是纯粹的面向对象语言吗?

201610181557196870.jpg

码农公社  210.net.cn  210= 1024  10月24日一个重要的节日--码农(程序员)节

纯面向对象语言支持或具有将程序内的所有内容视为对象的功能,不支持原始数据类型(如 int,char,float,bool 等)。

什么是纯面向对象语言?

编程语言满足七种标准就可以称为纯粹的面向对象语言,他们是:封装 / 数据隐藏

继承

多态性

抽象化

所有预定义类型都是对象

所有用户定义的类型都是对象

对对象执行的所有操作必须仅通过对象公开的方法

为什么 Java 不是纯面向对象语言?

Java 支持属性 1,2,3,4 和 6 但不支持上面给出的属性 5 和 7, Java 语言不是纯面向对象语言,因为它包含以下属性:

原始数据类型例如对象:

Smalltalk 是一种 “纯粹的” 面向对象的编程语言,与 Java 和 C++ 不同,因为作为对象的值和作为基本类型的值之间没有区别。在 Smalltalk 中,原始值,例如整数,布尔值和字符也是对象。在 Java 中,我们将预定义类型作为非对象(基本类型)。int a = 5;

System.out.print(a);

static 关键字:

当我们将一个类声明为 Static 时,可以在不使用 Java 中的对象的情况下使用它。

包装类:

包装类提供了将基元转换为对象和对象转换为基元的机制。在 Java 中,您可以使用 Integer,Float 等代替 int,float 等。我们可以在不调用其方法的情况下与对象使用算术运算符。

即使使用 Wrapper 类也不会使 Java 成为纯 OOP 语言,因为内部它将使用 Unboxing 和 Autoboxing 等操作。因此,如果您不是用 int Integer 创建并对其执行任何数学运算,那么 Java 将仅使用基本类型 int 。public class BoxingExample  {

public static void main(String[] args){

Integer i = new Integer(10);

Integer j = new Integer(20);

Integer k = new Integer(i.intValue() + j.intValue());

System.out.println("Output: "+ k);

}

}

在上面的代码中,有两个问题,Java 无法像纯 OOP 一样工作:在创建 Integer 类时,您使用的是基本类型 “int”,即数字 10,20。

在使用加法时,Java 使用原始类型 “int”( jdk1.5 需要拆箱操作,jdk1.5 及以后添加了新特性:自动装箱和拆箱)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值