Ответ на вопрос: вы не можете вызывать нестатический метод в статическом методе (если вы не создадите объект, который будет служить вызывающим объектом нестатического метода). Я не получил часть в скобке, я попытался создать объект в статическом методе, а eclipse сказал «недостижимый код». Может кто-то объяснить, почему и дать пример тоже. Благодаря (язык Java)Можете ли вы вызвать нестатический метод в статическом методе?
public class RoundStuff {
public static final double PI = 3.141459;
public static double area(double radius){//Area of circle
return(PI*radius*radius);
}
public static double volume(double radius){//Volume of sphere
return((4.0/3.0)*PI*radius*radius*radius);
}
public void print(){
System.out.print("I am not parasyte");
}
}
import java.util.Scanner;
public class RoundStuffDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter radius");
double radius = keyboard.nextDouble();
RoundStuff round = new RoundStuff();
System.out.println("A circle of radius " + radius + " inches");
System.out.println("has an area of " + round.area(5.5) + " square inches.");
System.out.println("A sphere of radius " + radius + " inches");
System.out.println("has a volume of " + RoundStuff.volume(radius) + " cubic inches.");
}
}
Опубликовать код, который задает проблему, и кто-то может попытаться объяснить –
'round.area (5.5)' является статическим вызовом экземпляра. Какое точное сообщение затмение дает вам, и какую часть вы не понимаете? –