静态方法不能直接调用实例方法和变量,但可以间接调用(即在静态方法中创建类的实例,然后调用)

时间:2021-02-23 19:29:12
package com.text_3;
//静态方法不能直接调用实例方法和变量,但可以间接调用(即在静态方法中创建类的实例,然后调用)
class Demo_12 {
public static void main(String[] args) {
Circle c=new Circle();
Demo_12 d=new Demo_12();
method1();//此处报错,静态方法不能直接调用非静态方法
d.method1();   //间接调用,无错
c.setRadius(5.0);   //间接调用,无错
}
public void method1(){
method2();
}
public static void method2(){
Circle c=new Circle();
System.out.println("what is radius " +c.getRadius());
}
}
class Circle{
private double radius;
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
}