JAVA啥时候需要NEW个对象,啥时候不用NEW可以直接用类名.方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA啥时候需要NEW个对象,啥时候不用NEW可以直接用类名.方法?相关的知识,希望对你有一定的参考价值。

你好,当一个方法被声明为static的时候,你就可以直接使用类名.方法。调用其余的方法就的使用对象去调用。举个例子。
class Test
public static void say() //...
public void speak() //...

say就可以使用Test.say()
而speak就得使用new Test().speak() ;
参考技术A 基本数据类型不需要new而直接定义,而引用数据类型在定义实例时需要new实例对象。一个类中有类的方法,使用static修饰的,和对象的方法,即没有static修饰的方法,类的方法可以直接使用类名加点加方法名调用,对象的方法必须先new一个实例,再由实例调用。

C++ new的时候,为啥会存在内存分配会失败的情况?啥导致的呢?

参考技术A 这样是会有内存泄漏的,因为第一次执行s
=
new
stu;
后,系统申请了一块新的内存空间(类型为stu),并把其地址赋给s
第2此执行s
=
new
stu后,系统又申请了一块新的内存空间,并把其地址赋给s,此时把s原来的值覆盖掉了,也就是第一次申请的内存空间的地址丢失了
而delete
s;
只是把现在s指向的内存中的变量删除,这就把第二次申请的变量删除了,但是这样并不能将第一次申请的变量删除,因为其地址已经丢失掉了
就算你执行两次delete语句也是没有用的,这样就算编译器不报错,执行程序的时候都会报错,因为你删除了同一个地址两次

以上是关于JAVA啥时候需要NEW个对象,啥时候不用NEW可以直接用类名.方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何判断java的一个类能否继承另一个类? 还有在new实例化一个对象时候有啥限制,

java this啥意思?

JavaScript中用new操作符创建对象的时候具体发生了啥过程

spring的注入和直接new一个对象有啥不同?

请问java里面为啥有时候声明对象的时候不用new??

javascript中new是啥意思