public class A
{
public static void main(String[] args)
{
for(int i=0;i<=100;i+=2)
{
for(int j=2;j<100;j++)
{
if(isPrime(j)&&isPrime(i-j)) ××××××××××
System.out.println(i+"="+j+"+"+(i-j));
break;
}
}
}
public static boolean isPrime(int n)
{
for(int a=2;a<n;a++)
{
if(n%a==0)
{
return false;
}
}
return true;
}
}
书上说“静态方法的调用可以用实例或者类名.方法名这两种途径,星号行难道算是利用实例调用方法吗?求教。
谢谢。
----------------解决方案--------------------------------------------------------
静态方法只是存储在类空间里,多个类的对象(实例)可以共用这一个方法,当然也可以在不创建对象的情况下直接调用。就像你是'一班'学生,你的班名是'一班',同样你的同学也可以说他的班名是'一班'一样。你跟你同学都是调用了同一个方法获得你们的班名。我觉得理解这个就行了。不用死扣吧。
个人以为是类对象调用的类方法,不是实例调用。
----------------解决方案--------------------------------------------------------
静态方法只是存储在类空间里,多个类的对象(实例)可以共用这一个方法,当然也可以在不创建对象的情况下直接调用。就像你是'一班'学生,你的班名是'一班',同样你的同学也可以说他的班名是'一班'一样。你跟你同学都是调用了同一个方法获得你们的班名。我觉得理解这个就行了。不用死扣吧。
个人以为是类对象调用的类方法,不是实例调用。
这句话有错误,类是对具有相似属性和行为的“对象”的抽象化,不能够具体的描述其存在,而类的对象(即实例)可以。比如说猫是动物,狗也是动物,猫和狗都是动物这个类的实例,是实实在在存在的。而动物是什么?不好去描述。
这里的动物就是对猫和狗这两个具有相似属性和行为的抽象化概念。类的对象就是类的实例
----------------解决方案--------------------------------------------------------
public class A
{
public static void main(String[] args)
{
for(int i=0;i<=100;i+=2)
{
for(int j=2;j<100;j++)
{
if(isPrime(j)&&isPrime(i-j)) ××××××××××
System.out.println(i+"="+j+"+"+(i-j)); //对于同一个类,静态方法里可以直接访问静态变量和方法,而在
break; //静态方法里访问非静态变量或方法,必须用类的对象的引用去
} //调用,因为非静态方法不是属于整个类的
}
}
public static boolean isPrime(int n)
{
for(int a=2;a<n;a++)
{
if(n%a==0)
{
return false;
}
}
return true;
}
}
书上说“静态方法的调用可以用实例或者类名.方法名这两种途径,星号行难道算是利用实例调用方法吗?求教。
谢谢。
----------------解决方案--------------------------------------------------------
我说的是类对象,不是类的对象。系统加载类代码后创建的那个,不是按你的指令new出来的。
不管是不是被实例化,类对象总是存在的。
----------------解决方案--------------------------------------------------------