首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

构造函数没有返回值是怎么赋值的?

众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。...可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?...构造函数有返回值吗 写一段代码测试一下: public class Test { public Test() { } public static void main...4: invokespecial #7 // Method "init":()V,调用构造函数,V代表void无返回值,那么init代表什么含义?...我在书里找到这样一段话: 在 Java 虚拟机层面上,Java 语言中的构造函数是以一个名为init的特殊实例初始化方法的形式出现的,init这个方法名称是由编译器命名的,因为它并非一个合法的 Java

1.7K20

构造函数没有返回值是怎么赋值的?

个人原创100W+访问量博客:点击前往,查看更多 转自:艾小仙 众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。...可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?...构造函数有返回值吗 写一段代码测试一下: public class Test { public Test() { } public static void main...4: invokespecial #7 // Method "init":()V,调用构造函数,V代表void无返回值,那么init代表什么含义?...我在书里找到这样一段话: 在 Java 虚拟机层面上,Java 语言中的构造函数是以一个名为init的特殊实例初始化方法的形式出现的,init这个方法名称是由编译器命名的,因为它并非一个合法的 Java

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java构造函数没有返回值,是怎么赋值的?

    众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。...可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?...构造函数有返回值吗 写一段代码测试一下: public class Test { public Test() { } public static void main...4: invokespecial #7 // Method "init":()V,调用构造函数,V代表void无返回值,那么init代表什么含义?...我在书里找到这样一段话: 在 Java 虚拟机层面上,Java 语言中的构造函数是以一个名为init的特殊实例初始化方法的形式出现的,init这个方法名称是由编译器命名的,因为它并非一个合法的 Java

    2.1K00

    初识Linux · 进程终止

    在地址空间那里我们结合写时拷贝重新理解了进程具有独立性,也理解了为什么fork函数会返回所谓的两个值,那么今天的话题是进程控制,我们拿fork举例,为什么fork返回给父进程的是子进程的pid,而子进程返回的值的...思考一个问题:为什么C语言阶段我们写main函数默认要返回的是0呢?为什么不是1?不是100呢?...,那么是不是代表main函数的返回值我们可以随便返回呢?...当然不是,在C语言阶段我们只是在语言层面知道了可以返回值而已,但是返回给的谁的我们是不知道的。在Linux阶段,我们通过了解退出码这个知识点,就会知道main的返回值怎么回事。...此时我们使用系统接口_exit,刚才的exit我们在C语言阶段就使用过,这是库函数,使用_exit呢? 欸?运行了之后为什么什么也没有? 可是对应的退出码也有。

    9210

    基础 | 详细图解jQuery对象,以及如何扩展jQuery插件

    ;等,这几句正式jQuery对象的关键所在,下面我用图给大家展示一下这中间的逻辑是怎么回事。...对象封装分析 在上面的实现中,代码首先在jQuery构造函数中声明了一个fn属性,并将其指向了原型jQuery.prototype。并在原型中添加了init方法。...之后又将init的原型,指向了jQuery.prototype。 而在构造函数jQuery中,返回了init的实例对象。 最后对外暴露入口时,将字符$与jQuery对等起来。...因此当我们直接使用$('#test')创建一个对象时,实际上是创建了一个init的实例,这里的正真构造函数是原型中的init方法。...后续文章内容一个大概预想 去年年末的时候就有了想要将JavaScript基础知识总结一下的这样一个想法,可是JavaScript基础知识确实并非全部是层层递进的关系,有很多碎片化的东西,所以之前一直没有找到一个合适的整理方法

    67020

    C语言函数指针基础

    ,它没有返回值也不接受任何参数。...这里,关键字void的作用是说我们创建了一个函数指针,并让它指向了一个返回void(也就是没有返回值)的函数。...将上述要点结合起来,void (*syaHelloPtr)()的意义就非常清楚了,这是一个函数指针,它指向一个不接收参数且没有返回值的函数。...括号操作符用于C语言中的函数调用,如果有参数参与,就将其放入括号中。这对于函数指针也是相似的,即代码中的(*sayHelloPtr)()。 这个函数没有返回值,也就没有必要将它赋值给任何变量。...而这与subtract函数的特征标相符。 在在第15行,解引用和执行这个函数指针,除了将返回值赋值给了y以外,与调用subtractAndPrint没有任何区别。

    1.6K100

    【C语言进阶篇】常用动态内存分配 malloc calloc realloc free

    空间开辟大小是固定的 所以像以前的空间开辟方法满足不了我们的需求,那么有没有我们想开辟多少空间就开辟多少,而当我们不想要的时候还可以释放!这个时候就需要动态内存开辟了!...很简单我们把 malloc 的返回值类型强制转换为 int* 拿整形指针接收 malloc 的返回值就可以 #include #include int main...而这是绝对不允许的,一旦越界就会导致程序崩溃⁉️ 所以我们加一段代码来保证程序的安全性 int main() { int arr[10] = { 0 }; int* p = (int*)malloc...所以当malloc在返回时返回了起始地址然后我们用 p 接收了malloc申请空间的起始地址 但是,malloc这个函数只返回起始地址并不进行初始化 malloc申请空间为0   ⛳️ 做为一个程序员我们在想要申请空间的时候肯定是已经知道...本来我p指针变量还维护40个字节的大小结果你给一个空指针 那么我不仅新空间没开辟,旧空间也丢了, 这样就会造成内存泄漏的问题,所以我们在这里就不敢用p接收我们的realoc返回值,需要进行代码改进!

    52910

    打开C语言常用的内存函数大门(二)—— memmove()函数 (内含memmove的讲解和模拟实现)

    前言 在之前,我向大家介绍了C语言中的一个常用的内存函数memcpy函数。如果你还没看的话,建议你先去看memcpy函数这篇文章,因为接下来,可能会用到那篇文章的知识甚至会拓展没有讲过的知识。...可能看到这里有的读者就会提出这么一个问题: 这不是跟memcpy()函数的功能一样吗?这是不一样的,可不敢将两者给弄混了。...2.1 memmove()函数与memcpy()函数的差异 在我们用memcpy函数时,不知道大家有没有想过这么一个问题: int main() { int arr1[10] = { 1,2,3,4,5,6,7,8,9,10...为了提高读者们的学习效率,这里我就再写一遍: 返回值和形参 作用 返回值类型:void* 返回目的地空间的地址。...(说大白话,就是返回你想要拷贝内容到那个空间的地址,不过我们很少会用到它的返回值) destination 一个空指针类型的变量,指向待拷贝空间的地址处 source const void* 指针类型的变量

    22810

    【C语言】动态内存管理之4个内存函数`malloc`,`free`,`calloc`和`realloc`深度了解

    比如: int main() { int* p = (int*)malloc(40); return 0; } 图解: 返回值: 如果分配成功,malloc返回指向内存块的void指针。...如果失败(如没有足够的可用内存),返回NULL。 使用malloc分配的内存需要使用free函数释放,否则会造成内存泄漏。 重点: malloc分配的内存不会被初始化,内容是未定义的。...返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使⽤的时候使⽤者⾃⼰来决定。 如果参数 size 为0,malloc的⾏为是标准是未定义的,取决于编译器。...检查返回值是否为NULL { perror("malloc");//打印错误信息 return 1; } // int i = 0; //使用 - 给数组赋值 for (i = 0;...感谢你的收看,如果文章有错误,可以指出,我不胜感激,让我们一起学习交流,如果文章可以给你一个小小帮助,可以给博主点一个小小的赞

    40910

    初识C语言·函数

    1 函数的概念可以参照数学中的y = kx + b,给一个x的值,让它计算y的值,同理,函数就是给一个执行指令,让它完成后续操作。...这里面就包括了函数的原型,返回类型和返回值,函数的参数,引用的头文件,当然,,慢慢看吧,全是英文哈哈哈,介绍比较费时间,就交给读者了。...我要表达的是,学习一个函数,应该从 函数原型,函数的返回类型,返回值,头文件,功能实现,参数这几个点进行了解。 好了现在介绍库函数。...比如,现在我要创建一个能实现三个数相加的函数,库函数没有吧?...因为我把自定义函数放在main函数的前面了,这也算是函数的声明了,虽然程序是从main函数开始的,但是编译器会从第一行开始“扫视”,在函数调用前看到了这个函数,都算声明了。

    6810

    常见的C编程段错误及对策

    他很自然的定义了一个结构体变量,然后把他想要的字库代码赋值给了相关的变量。但是,问题就来了,不管怎么调试,他所需要的这种字体效果总是不出来。我在检查了他的代码之后,没有发现什么问题,于是单步调试。...下面先看malloc 函数的原型: (void *)malloc(int size) malloc 函数的返回值是一个void 类型的指针,参数为int 类型数据,即申请分配的内存大小,单位是byte。...内存分配成功之后,malloc 函数返回这块内存的首地址。你需要一个指针来接收这个地址。但是由于函数的返回值是void *类型的,所以必须强制转换成你所接收的类型。...申请0 字节内存,函数并不返回NULL,而是返回一个正常的内存地址。但是你却无法使用这块大小为0 的内存。这好尺子上的某个刻度,刻度本身并没有长度,只有某两个刻度一起才能量出长度。...解决的办法就是给p 置NULL。 第二种:函数返回栈内存。这是初学者最容易犯的错误。比如在函数内部定义了一个数组,却用return 语句返回指向该数组的指针。解决的办法就是弄明白栈上变量的生命周期。

    1.5K41

    十三、jQuery过时的今天,你还会使用它吗

    ; (function (ROOT) { // 构造函数 var jQuery = function (selector) { // 在jQuery中直接返回new过的实例,这里的init...jQuery.fn.init.prototype = jQuery.fn; 而在构造函数jQuery中,返回了init的实例对象。...,因此当我们这样没有节制的使用jQuery是非常不正确的,虽然看上去方便了一些,但是对于内存的消耗非常大。...也给一些对于源码敬而远之的朋友提供一个学习的可能。 4 有一个朋友留言给我,说她被静态方法,工具方法和实例方法这几个概念困扰了很久,到底他们有什么区别?...放在原型中的方法,在使用时必须创建了一个新的实例对象才能访问,因此这样的方法叫做实例方法。也正是因为这一点,他的使用成本会比工具方法高一些。但是相比构造函数方法,原型方法更节省内存。

    1.4K20

    进阶 | 全方位解读this

    我们在学习JavaScript的过程中,由于对一些概念理解得不是很清楚,但是又想要通过一些方式把它记下来,于是就很容易草率的给这些概念定下一些方便自己记忆的有偏差的结论。...从结论中我们可以看出,想要准确确定this指向,找到函数的调用者以及区分他是否是独立调用就变得十分关键。...这就是call/apply的用法。 而call与applay后面的参数,都是向将要执行的函数传递参数。其中call以一个一个的形式传递,apply以数组的形式传递。这是他们唯一的不同。...四、构造函数与原型方法上的this 在封装对象的时候,我们几乎都会用到this,但是,只有少数人搞明白了在这个过程中的this指向,就算我们理解了原型,也不一定理解了this。...1、创建一个新的对象; 2、将构造函数的this指向这个新对象; 3、指向构造函数的代码,为这个对象添加属性,方法等; 4、返回新对象。

    35210

    抽丝剥茧C语言(初阶 中)

    让我们来运行这段代码试一试: 看到第二个打印出来的内容我们就疑惑了,心里想我明明要打印lol这个字符串可是却出来一堆乱码,这是怎么回事呢?...我们一起来看一下运行结果: 这结果和我们想要的结果不一样,这是为什么呢? 这就涉及到了我们刚才提到的转义字符,转义字符顾名思义就是转变意思。 下面看一些转义字符。 转义字符 释义 \?...\n"); } return 0; } 我把条件改成了0,输出结果如下: 果然,原来的2万行现在一行没有. 4.函数 函数我们已经接触一点点了,比如main函数printf函数,当然它可不是我们认知的数学那些函数...这是地方是函数的返回类型,我们这段代码要算加法,运行完之后我们要返回一个值,return就是返回的意思,后面空格加上你要返回的就可以了,不可只能返回一个值,一旦返回,return后面的代码将不会被执行,..."原住民"给替换掉了,全都换成了0 ,所以在这个范围内是安全的,如果你想越界,那么你肯定不知道外面的是什么东西,因为都是随机值,就像之前说的字符串一样.

    68500

    2024即将结束,看看这10个你可能错过的JavaScript怪异现象

    这只是其中的一个方面,它背后其实有个不为人知的秘密。 比方说,你正在开发一个网站,需要在某个地方打印出“欢迎回来”,但又不希望这个打印操作返回任何值。...void 运算符的作用是“评估一个表达式,但不返回其值”。换句话说,它执行了 console.log("欢迎回来") 这个操作,让它正常输出,但却不会返回任何值。...看似毫无意义的 void 运算符,其实在一些场景下非常有用,尤其是当你不想让某个操作的返回值影响其他操作时。 3....函数也能拥有属性 在 JavaScript 中,函数不仅仅是代码块,它们本质上也是对象。这意味着,你可以像给普通对象添加属性一样,给函数也添加属性。这听起来是不是有点“魔幻”?...你可以看到,函数 greet 不仅仅做它的本职工作(返回 "Hello"),还变得像一个对象一样,承载了额外的信息。 这有什么用呢? 你可以把它想象成给一个“工具”增加了“功能”。

    7310

    Golang 学习笔记-1:变量&函数

    所有的 Go 文件以 package 开头,对于独立运行的执行文件必须是 package main; 这是说需要将fmt加入到main。...当 Go 程序在执行的时候,首先调用的函数 是 main.main(),这是从 C 中继承而来。这里定义了这个函数 调用了来自于 fmt 包的函数打印字符串到屏幕。...如果不想对返回的参数命名,只需要提供类型:(int, string)。 如果只有一个返回值,可以省略圆括号。如果函数是一个子过程,并且没有任何返回值,也可以省略这些内容。函数体。...*/ 有返回值的函数,必须有明确的return 语句,否则会引发编译错误 名词解释 函数原型 函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。...函数定义可放在程序后面。 由于函数原型是一条语句,因此函数原型必须以分号结束。函数原型由函数返回类型、函数名和参数表组成,它与函数定义的返回类型、函数名和参数表必须一致。

    52320

    Javascript之其实我觉得原型链没有难的那么夸张!

    这是怎么回事?从英文的翻译来看,解释为:如果在该对象上(或其原型链上)可以找到[[call]]私有方法,那么就是typeof的结果就是function,如果找不到,那么结果就是object。   ...我们之前说过了,函数也是一种对象,所以函数本身也是有一些属性和方法的,而JavaScript自己就给函数对象添加了一些属性,其中就有prototype。每一个函数对象都有prototype原型对象。...所指定对象的所有自身属性的描述符,如果没有任何自身属性,则返回空对象。   ...实际上,通过字面量创建的值类型并不能完全的称之为“对象”。因为它没有属性和行为,也不唯一。但是它却可以使用原型链上的方法,究其原因,是因为在js运行时给值类型做了一层包装,使其可以使用原型链上的方法。...而并不是因为值类型本身就是对象。   2、我总觉得这篇文章还差点什么,不够我想要的那种感觉,我其实想要在文章做到由浅入深,但是整理后发现,浅是浅了,浅着浅着就发现浮上来来,一点都不深了。

    65720
    领券