constructor相关内容

链接构造函数时,JVM 的隐式内存屏障如何表现?

参考我的之前关于不完全构造对象的问题,我有一个第二个问题.正如 Jon Skeet 指出的那样,构造函数末尾有一个隐式内存屏障,可确保 final 字段对所有线程都是可见的.但是如果一个构造函数调用另一个构造函数呢?他们每个人的末尾是否有这样的内存屏障,或者仅在首先被调用的那个末尾?也就是说,当“错误"的解决方案是: 公共类 ThisEscape {public ThisEscape(Event ..

java中构造函数的返回类型是什么?

正如我们所知,我们不必向 Java 构造函数添加任何返回类型. 类示例{......样本(){...........}} 在 Objective C 中,如果我们创建一个构造函数,它会返回一个指向其类的指针.但我认为这不是强制性的. AClass *anObject = [[AClass alloc] init];//init是构造函数,返回类型是指向AClass的指针 同理,构造函数是否 ..
发布时间:2022-01-16 12:39:31 Java开发

C# 基本程序中的析构函数不起作用(输出缺失)

我已经编写了下面的非常基本的程序,我是 C# 新手.析构函数 ~Program() 没有被调用,所以我在输出中看不到“调用析构函数"字符串.我已经检查了其他类似的问题,但我没有找到我的答案.谢谢. 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Text;使用静态 System.Console;命名空间 LyfeCicleO ..
发布时间:2022-01-16 10:32:17 C#/.NET

在构造函数中注册事件?

我一直在玩委托、事件和匿名方法.这样做有一点变得非常清楚. 它不会简化在构造函数中注册任何事件方法或委托函数的过程吗? 我的测试表明它是有效的,它可以防止你在实例化后声明它们(因为对象的构造函数为你做了). 其实性能还是不错的.在构造/实例化对象时使用“this"关键字来引用当前对象有什么缺点吗? 这对我来说似乎很有意义,因为所有事件都会在实例化时连接起来. 是否有任 ..
发布时间:2022-01-15 12:06:10 C#/.NET

Mockito 注入不适用于构造函数和 setter 一起模拟

我有一个类,它的成员通过构造函数注入,其他成员通过 setter 注入.我似乎无法让 Mockito 注入二传手.构造函数注入被模拟得很好,但设置器返回为空.当我将 setter-ed 成员翻转到构造函数注入时,一切都很好.这是原始的生产代码: @Autowired私人 BetRepository betRepository;公共无效setBetRepository(BetRepository ..
发布时间:2022-01-14 13:18:14 其他开发

mockito如何创建mock对象的实例

当我创建一个说类 Employee 的模拟对象时.它不调用 Employee 对象的构造函数.我知道内部 Mockito 使用 CGLIb 和反射,创建一个代理类,将类扩展为模拟.如果不调用employee的构造函数,employee类的mock实例是如何创建的? 解决方案 Mockito 使用 CGLib 生成类对象.然而,要实例化这个类对象,它使用 Objenesis http://o ..
发布时间:2022-01-14 12:55:25 Java开发

“初始"Fortran 派生类型的语句/自动构造函数

我想知道 Fortran 中是否有类似构造函数的机制用于派生类型,这样每当创建类型的实例时,构造函数就会自动调用.我阅读了 this 问题,但我并不满意. 完整性示意图: 模块模组整数 :: n=5类型数组真实的,维度(:),可分配的 :: val包含过程 :: 数组()端型子程序数组(this)分配(这个%val(n))结束子程序端模块 现在,当我创建 type(array) :: i ..
发布时间:2022-01-14 10:11:16 其他开发

为什么禁用 CObject 的复制构造函数和赋值

MFC 的根对象 CObject 的复制构造函数和赋值默认是禁用的. 在 MSDN 中,有一个描述 标准 C++ 默认类副本构造函数逐个成员复制.私人的存在CObject 复制构造函数保证一个如果复制了编译器错误消息需要你的类的构造函数但不可用.因此,您必须提供一个复制构造函数,如果你类需要这种能力. 在CObject的源码中,有一条注释: 禁用复制构造函数并默认赋值,因此 ..
发布时间:2022-01-12 14:36:04 C/C++开发

日历构造函数 Java toString

我要做的是将日期传递到日历中,以便它将格式化日期以供另一个构造函数使用.这样我以后可以使用日历提供的功能来使用它. 公共类顶部{公共静态无效主要(字符串[]参数){Something st = new Something(getCalendar(20,10,2012));System.out.println(st.toString());}公共静态日历 getCalendar(int day, ..
发布时间:2022-01-11 14:38:49 Java开发

构造函数什么时候抛出异常合适?

构造函数什么时候抛出异常合适?(或者在 Objective C 的情况下:init'er 什么时候返回 nil 才是正确的?) 在我看来,如果对象不完整,构造函数应该会失败——因此拒绝创建对象.即,构造函数应该与其调用者签订合同,以提供可以有意义地调用哪些方法的功能和工作对象?这合理吗? 解决方案 构造函数的工作是使对象进入可用状态.在这方面基本上有两种思想流派. 一组赞成两阶 ..
发布时间:2022-01-08 12:23:17 其他开发

谁删除在“新"期间分配的内存?构造函数中有异常的操作?

我真的不敢相信我找不到一个明确的答案...... 在使用 new 操作符初始化的情况下,如何释放 C++ 类构造函数引发异常后分配的内存.例如: class Blah{上市:废话(){抛出“哎呀";}};无效的主要(){废话* b = NULL;尝试{b = 新的 Blah();}抓住 (...){//现在怎么办?}} 当我尝试这个时,b 在 catch 块中为 NULL(这是有道理的) ..
发布时间:2022-01-08 11:58:06 C/C++开发

Java构造函数样式:检查参数不为空

如果您有一个类接受一些参数但不允许它们为 null,那么最佳实践是什么? 以下是显而易见的,但例外有点不具体: public class SomeClass{public SomeClass(对象一,对象二){if (一 == 空 || 二 == 空){throw new IllegalArgumentException("参数不能为空");}//...}} 这里的异常让你知道哪个参数是 ..
发布时间:2022-01-06 23:15:26 Java开发

组件构造函数中nil owner是什么意思

我正在查看这个问题 我现在想知道,组件构造函数中 nil 作为所有者是什么意思. SomeComponent := TSomeComponent.Create(nil); 我知道,在使用这个构造函数时我应该自己释放它,但这是在创建时传递所有者的唯一原因吗?当我忘记释放它并关闭我的应用程序时会发生什么 - 这是否意味着该对象作为垃圾保留在内存中? 非常感谢:) 解决方案 这意味着你 ..
发布时间:2022-01-06 23:13:33 其他开发