面向对象的三大特性 为什么说java里面只有值传递?
为什么说java里面只有值传递?
在这个问题上,不同的人有不同的理解。对于Java教材中参数的传递,学生认为参数的传递可以分为初始值的传递。对于程序员的某些工作年限,他们可能会认为,如果传递的参数类型是普通类型,则传递的是值;如果参数是对象,则传递的是引用。另一些人认为,只有Java中的值传递才是主要问题的主题。
对于Java编程语言,前两种理解是错误的。Java中只使用值传递。对我来说,一开始,我也理解了价值传递和参照传递的理论,但随着自己代码的积累,我逐渐发现事实并非如此。那么为什么只有价值传递呢?
首先,让我们了解什么是值传递,什么是引用传递?
值传输意味着调用函数时,实际参数值被复制并传递给被调用函数。修改被调用函数中的参数值不会影响原始参数值。
引用传递意味着调用函数时,实际参数的地址直接传递给被调用函数。修改被调用函数中的参数值将影响原始参数值。
如果传递的参数类型是普通基本类型,则必须复制实际参数值并将其传递给形式参数。但是,当参数类型是对象时,它也是复制的参数值,并将其传递给形式参数。只复制对象的引用地址,即内存中分配的存储地址,而不是直接传递的引用地址。
此时,有些人可能会问为什么一个对象会被传递给另一个方法。在此方法中修改对象的属性值时,原始调用方法中对象的属性值将更改。这不就是参考传递吗?
事实上,这是一个非常令人困惑的问题。如果你仔细看看上面的说法,事实并非如此。将一个对象传递给另一个方法会传递什么?传递对象引用的地址。对象引用的地址是否已在其他方法中修改?原始对象引用是否受影响?不
!因此,Java中没有引用传递,只有值传递。不要犯任何错误
java业务逻辑,写在哪里比较好?
现在很多公司的开发人员都应该采用MVC架构。
MVC是所谓的模型、视图、控制器。
每一层都有明确的分工。
对于简单的项目,不管nignx如何,网关通常都会将请求从前端发送到后端,首先发送到控制器,然后发送到服务层,然后发送到Dao层。
这里的服务层就是所谓的业务层,专门负责业务处理操作,而Dao层则负责处理数据库,将数据库中的数据带回服务,经过服务处理后返回控制器层。控制器通过视图解析器解析页面,并通过浏览器呈现页面。
基本上,我认为答案是显而易见的。也就是说,Java业务逻辑是在服务层编写的。
事实上,服务层涉及接口和接口实现。
在编写代码时,我们通常为控制器定义一个调用接口。
实际上,服务接口的实现类应该是编写业务逻辑的地方。
当然,许多公司可能有多个服务层,例如,有一个管理层继续对数据进行特殊的业务处理。这里只是一个简单的概述。
每个公司的每个项目根据其自身业务可能有不同的体系结构。但本质是一样的。
综上所述,业务逻辑必须作为一个独立的层来处理,这样便于扩展和维护。记住不要在控制器中编写所有业务逻辑。
每一层都有自己的分工,是捏合在一起的。代码不仅冗长,而且杂乱无章。
好吧,我希望我的回答能帮助你
!如果你有兴趣,可以关注一下,一起学习交流!
面向对象的三大特性 java 反射获取属性名和值 java值传递和地址传递的区别
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。