为了账号安全,请及时绑定邮箱和手机立即绑定

哪里错了。。

public abstract class Shape{

    public abstract void ZhouChang();

    public abstract void MianJi();

    }

    public class Rectangle extends Shape{

    public double chang;

    public double kuang;

    public void ZhouChang(){

    System.out.println(周长为:+(chang+kuang)2);

    }

    public void MianJi(){

    System.out.println(面积为:+changkuang);

    }

}

    public class Circle extends Shape{

    public double banjin;

    public final double PI=Math.PI;

    public void ZhouChang(){

    System.out.println(周长为:+(2PIbanjin));

    }

    public void MianJi(){

    System.out.println(面积为:+(PIbanjinbanjin));

    }

}

import java.util.Scanner;

public class Test{    

    public class void main(String args[]){

    Scanner input=new Scanner(System.in);

    System.out.println(请输入矩形的长和宽:);

    Rectangle rec=new Rectangle()

    System.out.println(矩形长为:);

    rec.chang=input.nextDouble();

    System.out.println(矩形宽为:);

    rec.kuan=input.nextDouble();

    rec.ZhouChang();

    rec.MianJi();

    Scanner input=new Scanner(System.in);

    System.out.println(请输入圆的半径:);

    Circle cir=new Circle();

    System.out.println(圆的半径为:);

    cir.banjin=input.nextDouble();

    cir.ZhouChang();

    cir.MianJi();

    input.close();

    }

}


正在回答

3 回答

import java.util.Scanner;

public class Test3{    

    public static void main(String args[]){

    Scanner input=new Scanner(System.in);

    System.out.println("请输入矩形的长和宽:");//引号没加

    Rectangle rec=new Rectangle();//分号没加

    System.out.println("矩形长为:");//引号没加

    rec.chang=input.nextDouble();//

    System.out.println("矩形宽为:");//引号没加

    rec.kuang=input.nextDouble();//变量没写全

    rec.ZhouChang();

    rec.MianJi();

  //  Scanner input=new Scanner(System.in);//不需要重复实例化

    System.out.println("请输入圆的半径:");//引号没加

    Circle cir=new Circle();

    System.out.println("圆的半径为:");//引号没加

    cir.banjin=input.nextDouble();

    cir.ZhouChang();

    cir.MianJi();

    input.close();

    }

}


0 回复 有任何疑惑可以回复我~
#1

dakela 提问者

非常感谢!
2017-03-21 回复 有任何疑惑可以回复我~
#2

qq_扬帆启航_3 回复 dakela 提问者

在处理问题的时候多试着自己去查问题在那里,还有要避免小问题的出现。
2017-03-21 回复 有任何疑惑可以回复我~
#3

慕姐8987590 回复 qq_扬帆启航_3

请问一下 Shape rec=new Rectangle();这样为什么不行
2017-03-24 回复 有任何疑惑可以回复我~
#4

qq_扬帆启航_3 回复 慕姐8987590

抽象类不能被实例化
2017-03-24 回复 有任何疑惑可以回复我~
#5

慕姐8987590 回复 qq_扬帆启航_3

我是通过父类指向子类对象啊,请再解释一下,脑袋有点晕
2017-03-25 回复 有任何疑惑可以回复我~
#6

qq_扬帆启航_3 回复 慕姐8987590

Shape类有添加abstract修饰,所以是抽象类。抽象类不能被实例化的。
2017-03-25 回复 有任何疑惑可以回复我~
#7

慕姐8987590 回复 qq_扬帆启航_3

那视频中为什么可以用Telphone tel1=new Cellphone();Telpone也是抽象类啊?
2017-03-26 回复 有任何疑惑可以回复我~
#8

qq_扬帆启航_3 回复 慕姐8987590

代码贴上来看看。
2017-03-26 回复 有任何疑惑可以回复我~
#9

慕姐8987590 回复 qq_扬帆启航_3

public static void main(String[] args) { // TODO Auto-generated method stub Telphone tel1 = new CellPhone(); tel1.call(); tel1.message();
2017-03-26 回复 有任何疑惑可以回复我~
#10

慕姐8987590 回复 qq_扬帆启航_3

只能贴这一点,就是第二季中抽象类那一课
2017-03-26 回复 有任何疑惑可以回复我~
#11

qq_扬帆启航_3 回复 慕姐8987590

把telphone类的代码贴上来。。
2017-03-26 回复 有任何疑惑可以回复我~
#12

慕姐8987590 回复 qq_扬帆启航_3

public abstract class Telphone { public abstract void call(); public abstract void message(); }
2017-03-26 回复 有任何疑惑可以回复我~
#13

qq_扬帆启航_3 回复 慕姐8987590

嗯。你看看是不是子类有添加了其他的属性。如果有的话是会报错的。前面的没有思考到位,可以实例化的,须通过父类指向子类的实例化
2017-03-26 回复 有任何疑惑可以回复我~
#14

慕姐8987590 回复 qq_扬帆启航_3

其实问题就是通过父类指向子类的实例化为什么不能给子类属性赋值?比如Cellphone中有一个 double size,通过这种方法就不能tel1.size=2.5
2017-03-26 回复 有任何疑惑可以回复我~
#15

qq_扬帆启航_3 回复 慕姐8987590

可以这样去理解,通过父类对子类进行赋值,走的就得是相同的属性才能赋值的,不然没有接口调用啊。
2017-03-26 回复 有任何疑惑可以回复我~
#16

慕姐8987590 回复 qq_扬帆启航_3

哦,懂了,谢谢,豁然开朗
2017-03-26 回复 有任何疑惑可以回复我~
查看13条回复

public abstract class Shape{

    public abstract void ZhouChang();

    public abstract void MianJi();

    }


     class Rectangle extends Shape{       //在同一个类文件下只能有一个公共类 若是其他类文件则无视

    public double chang;

    public double kuang;

    public void ZhouChang(){

    System.out.println("周长为:"+(chang+kuang)*2);//要带上符号*2

    }

    public void MianJi(){

    System.out.println("面积为:"+chang*kuang);//错误

    }

}

     class Circle extends Shape{    //在同一个类文件下只能有一个公共类 若是其他类文件则无视

    public double banjin;

    public final double PI=Math.PI;

    public void ZhouChang(){

    System.out.println("周长为:"+(2*banjin));//错误

    }

    public void MianJi(){

    System.out.println("面积为:"+(banjin*banjin));//错误

    }

}


0 回复 有任何疑惑可以回复我~

public abstract class Shape{

    public abstract void ZhouChang();

    public abstract void MianJi();

    }


     class Rectangle1 extends Shape{       //在同一个类文件下只能有一个公共类 若是其他类文件则无视

    public double chang;

    public double kuang;

    public void ZhouChang(){

    System.out.println("周长为:"+(chang+kuang)*2);//要带上符号*2

    }

    public void MianJi(){

    System.out.println("面积为:"+chang*kuang);//错误

    }

}

     class Circle1 extends Shape{    //在同一个类文件下只能有一个公共类 若是其他类文件则无视

    public double banjin;

    public final double PI=Math.PI;

    public void ZhouChang(){

    System.out.println("周长为:"+(2*banjin));//错误

    }

    public void MianJi(){

    System.out.println("面积为:"+(banjin*banjin));//错误

    }

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季
  • 参与学习       531270    人
  • 解答问题       6327    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

哪里错了。。

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号