`

对象本无根,类型亦无形

阅读更多

       在与同事的交流中,广州的一同事提到了“数据反持久化”的设想,即用数据库表直接生成对应的JavaBean(或Java对象)。我的第一反应就用Java的内省机制与反射机制来组装对象。但后来尝试着具体实现的时候却发现我需要组装的对象成了“无源之水,无本之木”这时我才意识到没有类,对象从何而来呢?立即我又想到是否可以动态的生成这些类然后再进行动态编译,这样一来问题就迎刃而解了。后来也证实这种想法是成立的,即使问题解决了,不过却让我对另外一个问题产生了思考——面向对象。什么是面向对象?对这个问题的回答最著名的还属Bruce Eckel在think in  java中提到的“万物皆对象”,竟然万物皆对象为何却出现了没有了类就无法生成对象这样尴尬的局面呢?仔细想一想,对象真的是由“类”产生出来的吗?用唯物主义的观点来看对象是客观存在的,不以人的意志为转移。“类”是我们主观赋予和定义出来的,即他是虚拟出来的是我们对现实世界认知的一个产物。“对象本无根,类型亦无形”看来Java还并不是一种纯面向对象的语言。

 

分享到:
评论

相关推荐

    悟透JavaScript

    "对象本无根,类型亦无形。本来无一物,何处惹尘埃?"这句描述似乎暗示了JavaScript中的核心概念——万物皆对象,类型动态转换,以及其简洁的哲学思想。 首先,让我们从“对象本无根”这句话入手。在JavaScript中,...

    悟透JavaScrip

    只有火头僧慧能看后,轻轻地叹了口气,又随手在墙上写道:“对象本无根,类型亦无形。本来无一物,何处惹尘埃?”。然后摇了摇头,扬长而去。大家看了慧能的偈子都说:“ 写的什么乱七八糟的啊,看不懂”。师父弘忍...

    悟透JavaScript javascript 圣经

    慧能的“对象本无根,类型亦无形”,暗示了JavaScript中对象的灵活性和动态性,鼓励开发者回归编程的本质,理解数据和代码的原始关系。 总的来说,JavaScript是一门融合了数据和代码、简单与复杂的语言。理解和掌握...

    算法-树形结构- 树与二叉树- 无根树转有根树.rar

    树与二叉树是树形结构中的基本概念,而将无根树转换为有根树是处理这类数据结构时常常会遇到的问题。在这个主题中,我们将深入探讨树的基本概念、无根树与有根树的区别,以及如何进行这种转换。 首先,让我们了解树...

    悟透javascript

    故事中,火头僧慧能的偈子“对象本无根,类型亦无形。本来无一物,何处惹尘埃?”揭示了一种更为深刻的哲学思考,即对象的本质和类型的相对性,以及它们在更高维度上的统一性和无形性。 ### JavaScript:回归简单 ...

    悟透JavaScript.mht

    只有火头僧慧能看后,轻轻地叹了口气,又随手在墙上写道:“对象本无根,类型亦无形。本来无一物,何处惹尘埃?”。然后摇了摇头,扬长而去。大家看了慧能的偈子都说:“写的什么乱七八糟的啊,看不懂”。师父弘忍看...

    javascript真经

    只有火头僧慧能看后,轻轻地叹了口气,又随手在墙上写道:“对象本无根,类型亦无形。本来无一物,何处惹尘埃?”。然后摇了摇头,扬长而去。大家看了慧能的偈子都说:“写的什么乱七八糟的啊,看不懂”。师父弘忍看...

    “裁枝剪叶”问题,一道 编程竞赛题

    本题的任务就是:通过一系列“裁枝剪叶(也可以什么裁剪都不进行),使剩下的无根树上的节点的值的和最大(注:节点的值可为负值)。 输入格式: 从文本文件cut.in中读入数据。 第一行一个整数N,表示具有的节点数...

    如何获取驱动器类型程序设计

    2. 创建`DriveInfo`对象,传入驱动器的字母(例如"C:", "D:"等)作为参数。 ```vbnet Dim drive As New DriveInfo("C:") ``` 3. 使用`DriveType`属性来获取驱动器类型。 ```vbnet Dim driveType As DriveType = ...

    ScreenRecorder,在android 5.0 上使用mediaprojectionmanager、virtualdisplay、audiorecord、mediacodec和mediamuxer api实现无根屏幕捕获.zip

    本篇文章将深入探讨如何利用MediaProjectionManager、VirtualDisplay、AudioRecord、MediaCodec和MediaMuxer API来构建一个无根屏幕录制的应用。 1. **MediaProjectionManager**: 这是Android 5.0引入的关键组件,...

    RootLessInstallerDEB:无根安装程序的预修补Debs

    RootLessInstallerDEB这很无聊! RootLessInstaller 1.0现在具有内置的修补程序!从此仓库的“发布”选项卡中获取它! 从此处或复制调整下载链接!无根安装程序的预修补Debs。由reddit用户/ u / kiityman制作

    unifi-controller:Podman-compose配置,可将UniFi Controller作为无根容器运行

    通过在无根容器中运行UniFi控制器,将其配置为systemd服务,并自动执行图像更新。 该项目使用提供的 映像,并使用提供的 -compose进行了最小的更改。 要求 该项目使用Podman,Python和 。 按照安装Podman。 只需安装...

    精彩编程与编程技巧-判断一个驱动器的类型...

    本篇文章将详细介绍如何通过编程技术来判断一个驱动器的具体类型,并结合给定的部分源代码进行深入分析。 ### 一、判断驱动器类型的背景与意义 在计算机系统中,了解驱动器类型对于很多应用程序来说是非常重要的。...

    VB判断windows驱动器的类型,软盘、硬盘或U盘

    本主题将详细介绍如何使用VB来判断驱动器是软盘、硬盘还是U盘。 首先,我们需要理解Windows系统中驱动器类型的底层表示。在Windows API(应用程序接口)中,每个驱动器都有一个卷标(Volume)和一个媒体类型(Media...

    规范:无根安装程序

    在IT行业中,尤其是在系统管理与软件部署领域,"规范:无根安装程序"是一个重要的实践准则,它旨在确保软件安装过程无需使用root权限,从而提高系统的安全性、稳定性和可维护性。这一规范主要针对的是shell脚本、包...

    Launcher3:Launcher3前叉,称为“无根像素启动器”

    无根像素启动器埃米尔·扎伊迪(Amir Zaidi)链接Play商店发布: : 图片和视频: : APK下载: : 无根像素桥: : Magisk版本(仅适用于Pixel用户): : 阿尔法: : 联系人: : 想象我的启动器与AOSP启动器非常...

    gobrew:转到版本管理器。 超级简单的工具,用于安装和管理Go版本。 无根安装go。 Gobrew不需要重新打包外壳

    酒会转到版本管理器安装或更新卷曲$ curl -sLk https://git.io/gobrew | sh - 或一起去$ go get -u github.com/kevincobain2000/gobrew/cmd/gobrew 添加GOPATH和PATH设置您的外壳配置文件( .bashrc或.zshrc )。...

Global site tag (gtag.js) - Google Analytics