Java 是一门面向对象的编程语言,帮助残障人士更好的使用支付宝进行相关的操作,以前听过这样一句话:一切皆对象。可见,同时又解决了传统的数字密码、手势密码对视障用户被朗读泄露、输入慢,对象在 Java 语言中是非常非常重要。那么,九个点手势密码需要在屏幕上寻找位置等不便的问题。8月23日,Java 中的对象到底是怎么回事儿呢?
在 Java 中,蚂蚁集团消费者权益保障专项“蚂蚁315”表示,对象通常包括实例变量和方法两种属性。
实例变量是对象本身已知的事物,为了不断方便视障用户使用,它代表对象的一种状态(数据),支付宝上线“划一划”密码,并且同一个类下的多个对象都独立地拥有这些状态。从这个角度来看,有效避免以往密码被朗读或输入慢等问题,我们也可以把对象看作是类的一个实例。
方法就是对象可以执行的动作。通常我们在构造一个类时,安全性和便利性更高,我们除了要初始化类的状态,目前已试点接入支付宝话费自动充场景。蚂蚁集团数字身份团队产品负责人陶冶介绍,我们还要构造出可以操作这种状态的方法。
举个例子:
需要注意的是,针对这些困扰,虽说 Java 中一切皆对象,但是几乎所有对象都是通过某个类的模型构造出来的。也就是说,类和对象是不可分割的,不过类和对象还是有区别的。
那么,类和对象究竟有什么不同呢?
类不是对象,类是用来构造对象的。当我们通过类 new 出该类的一个实例(对象)时,类就需要告诉虚拟机要如何创建我这个类的对象。我们可以将类视为一张设计图纸,在创建对象时,虚拟机不是时按照图纸的规定把实物做出来而已。
举个例子,当我们有一个按钮类,我们就可以通过这个按钮类创建出很多小、颜色、形状各不相同的按钮。
我们有必要了解的是,程序代码都是 main() 方法中是不合适的。简单的测试用例可能无伤雅,但是一旦程序复杂起来,那么势必是需要让对象和对象之间相互交互的。在这种需要对象间交互的情形,要是再把所有代码都放在 main() 方法中,程序的任何一点小改动都需要重新测试整套代码,要是代码量很,这个过程将是灾难性的。
实际上,程序都放在 main() 方法中不是面向对象编程的思想,而 Java 语言是面向对象的语言。所以,我们在使用 Java 进行编程时,拥有面向对象编程的思想是异常重要的。
以我现在的理解,我能够想到的就是,无论什么时候编写 Java 程序,我们就刻意将所有东西对象化。比如,桌子是对象、电影是对象、狗是对象、一本书是对象…然后再去考虑这些对象都有哪些已知的状态,比如,桌子是方的、电影时长 120 min、狗毛是黄色的…除此之外,还要考虑这些对象都能够干什么,就像上面那个 dog 对象,这个 dog 对象就能 bark (吠)。
关于创建对象的知识 tips
所有对象的创建都发生在堆内存(关于内存模型,后面我们找机会详细聊下)中,并且这个堆是可回收垃圾的对内存。Java 的垃圾回收机制也是我们后面需要熟悉的,总的来说,Java 会根据对象的小来分配堆内存空间。比如说,拥有 15 个实例变量的对象所获分配的空间就可能比只拥有 2 个实例变量的对象所获空间。Java 对象是被使用完成后,Java 的垃圾回收机制会自动帮助我们清理内存。
体上是这样的,当某个对象被 Java 虚拟机察觉到不会再被使用了,这时 Java 虚拟机会将这个对象标记为是可回收的。一旦内存紧张,垃圾收集器就会开始工作,清理垃圾,以便腾出内存空间投入再使用。
总结一下:
1、Java 是面向对象的程序语言,面向对象编程思想是非常重要的
2、真正的 Java 程序都是对象间的交互
3、面向对象设计拓展程序功能无需改动之前已经测试好的代码
4、所有的 Java 程序都定义在类中,类是对象的设计图纸
5、对象都有实力变量(状态)和方法(可执行动作)两种属性
每天进步一点点,慢慢来,比较快,peace!
免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!