我学习了C++,现在正在学习Java。在C++中,我们可以在非静态/实例成员函数中使用静态成员。但是,在学习Java的我发现这一点:Java的静态成员和C++的静态成员之间的区别
我写了一个程序,以检查是否“非静态函数可以访问静态成员或没有”。还有在下面的程序没有问题:
public class Animal
{
static int CountOfAnimal;
public Animal()
{
CountOfAnimal++;
}
public int showCount()
{
CountOfAnimal++;
return CountOfAnimal;
}
public static void main(String []args)
{
new Animal();
new Animal();
Animal C = new Animal();
System.out.println("Total animals are : " + C.showCount());
}
}
所以,我可以说,在Java也非静态/实例成员函数可以访问同一类的静态成员?
另外,我想知道除了调用成员的方式之外,Java和C++中的静态成员(方法和变量)是否有区别?
我知道的一个区别是在C++中调用静态成员并在Java中调用静态成员。任何其他?
'我可以说,在Java也非静态/实例成员函数可以访问同一类的静态成员'是的,你可以吗?。你所引用的这段话并不矛盾,所以目前还不清楚为什么你一开始就怀疑这个提议。 –
@IgorTandetnik:谢谢,所以java和C++的静态成员之间没有其他区别(接受调用的方式)? – Infinity
这个问题是基于对引用文本的误解。投票结束。 – Galik