java – 实例和对象之间的功能差异是什么?

前端之家收集整理的这篇文章主要介绍了java – 实例和对象之间的功能差异是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道在OOP中,instance = object.所以如果我们有这样的类:
public class something
{
    public static void main(String args[])
    {
    }
}

main方法中的这一行会创建新的对象实例吗?

something instance=new something();

我的第二个问题是类似的:如果我们创建Thread对象 – Thread t1 = new Thread();它实际上意味着我们创建了一个Thread类的实例,我们可以从中静态调用方法? (例如sleep()).

解决方法

if we create Thread object – Thread t1=new Thread(); does it actually mean we have created instance of class Thread,from which we can staticly call methods? (e.g sleep()).

调用静态方法时,不要将其从对象中调用.这就是为什么它是静态的.不需要一个实例来执行静态方法.

Thread t1 = new Thread();
t1.checkAccess();  // <--- This is an instance method.

Thread.activeCount(); // <-- This is a static method.

当您看到新的关键字时,这意味着正在创建一个新的对象.在这种情况下,它是Thread类的一个实例,正如你所说的那样.

你怎么把他们分开?

那么很简单如果它是一个实例方法,它将从对象的上下文中调用.

String str = new String("hello");
str = str.replaceAll("o","");

您可以看到,您必须创建一个实例来使用实例方法.

使用静态方法,这更容易.他们将被称为只有名字的类.

String.copyValueOf(new char[] {'a','b','c'});

没有必要创建一个新的String实例.只需使用该类的名称.

注意:正如注释中所指出的,静态方法可以从实例对象调用,但这不是常见的做法.如果您不确定,文档是您最好的朋友.或者您可以通过尝试从静态上下文调用相同的方法来简单地测试.

何时使用静态方法而不是实例方法

那么这个回答很好,在这里:Java: when to use static methods,我觉得没有意义重复它:)

猜你在找的Java相关文章