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

想问下12,13行的代码哪里有错,编译器一致显示错误但不知道错那

1 package com.四边形;

2 public class Quadrangle {
3  private int  nextIndex=0;
  4 private Quadrangle[] qtext=new Quadrangle[6];
 5 public void draw(Quadrangle q) {
  6 if (nextIndex<qtext.length) {
   7 qtext[nextIndex]=q;
   8 System.out.println(nextIndex);
  9 nextIndex++;
  }
  
 }

 10 public static void main(String[] args) {
  // TODO Auto-generated method stub
  11Quadrangle q=new Quadrangle();
  //Parallelogramgle p=new Parallelogramgle();
  //Square s=new Square();
  12 q.draw(new Parallelogramgle());
  13 q.draw(new Square());
  
  

 }

 14 public class Parallelogramgle extends Quadrangle{
 15 public Parallelogramgle() {
  16 System.out.println("平行四边形");
 }
}
17 public class Square extends Quadrangle{
 18 public Square() {
  19 System.out.println("正方形");
 }
}
 
}

正在回答

8 回答

不好意思,说错了,你在父类Quadrangle里面创建了子类Parallelogramgle,Square这样是不行的,java中不允许在类里面在创建一个类.https://img1.sycdn.imooc.com//5b5a74200001ec1004260596.jpg

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

含有main方法的类的.java文件名改为Test1.java


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

在以前的包下  .java   文件的文件名改了吗

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

修改如上

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

年纪轻轻想有猫 提问者

追问一下,我后面修改了程序,在我当时的包下运行出现加载不到或者找不到主类的错误 ,但在另一个(defult package)的包中就可以运行成名,两个包都是一个项目下的,想知道为什么
2018-07-27 回复 有任何疑惑可以回复我~

另外说明一下,包名最好不要用汉语

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

12 13  q是父类对象,draw方法里面传的参数是Quadrangle类型的,你传进的参数是Parallelogramgle,Square类型,虽然是子父类关系,但编译时会报错

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

12 13行。你在主类中创建的对象是父类的对象,父类的对象是不可以调用子类特有而父类自己没有的方法

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

举报

0/150
提交
取消

想问下12,13行的代码哪里有错,编译器一致显示错误但不知道错那

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信