java 尝试编写一个矩形类,将长与宽作为矩形类的属性
publicclasssbz{privatedoublea;privatedoubleb;publicsbz(doublea,doubleb){this.a=a;this...
public class sbz {
private double a;
private double b;
public sbz(double a, double b) {
this.a = a;
this.b = b;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double area() {
return a * b;
}
}
public class doessbz {
public static void main(String[] args) {
sbz w = new sbz(9,7);
System.out.println(sbz.area());
}
}
执行的时候出现cannot make a static reference to the non-static method area() from the type sbz
求解哪行出错,怎么改 展开
private double a;
private double b;
public sbz(double a, double b) {
this.a = a;
this.b = b;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double area() {
return a * b;
}
}
public class doessbz {
public static void main(String[] args) {
sbz w = new sbz(9,7);
System.out.println(sbz.area());
}
}
执行的时候出现cannot make a static reference to the non-static method area() from the type sbz
求解哪行出错,怎么改 展开
5个回答
展开全部
按照这个来能执行。
public class doessbz {
public static class sbz {
private double a;
private double b;
public sbz(double a, double b) {
this.a = a;
this.b = b;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double area() {
return a * b;
}
}
public static void main(String[] args) {
sbz w = new sbz(9,7);
System.out.println(w.area());
}
}
public class doessbz {
public static class sbz {
private double a;
private double b;
public sbz(double a, double b) {
this.a = a;
this.b = b;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double area() {
return a * b;
}
}
public static void main(String[] args) {
sbz w = new sbz(9,7);
System.out.println(w.area());
}
}
追问
这是为何
追答
调用类的成员函数要用这个类的对象来调用。(静态的例外)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.out.println(sbz.area());
修改为:
System.out.println(w.area());
扩展:
静态方法调用:类.方法(推荐) 或者 对象.方法(不推荐)
非静态方法调用:对象.方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sbz w = new sbz(9,7);
System.out.println(sbz.area());
你这边的变量名是w,应该用w.area()
System.out.println(sbz.area());
你这边的变量名是w,应该用w.area()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.out.println(sbz.area());
改成
System.out.println(w.area());
改成
System.out.println(w.area());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
内容:
正确方式:
public static void main(String[] args){
sbz w=new sbz(9,7);
System.out.println(w.area());
}
日期:2015年10月26日 11:02:05
正确方式:
public static void main(String[] args){
sbz w=new sbz(9,7);
System.out.println(w.area());
}
日期:2015年10月26日 11:02:05
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询