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("正方形");
}
}
}
不好意思,说错了,你在父类Quadrangle里面创建了子类Parallelogramgle,Square这样是不行的,java中不允许在类里面在创建一个类.
含有main方法的类的.java文件名改为Test1.java
在以前的包下 .java 文件的文件名改了吗
修改如上
另外说明一下,包名最好不要用汉语
12 13 q是父类对象,draw方法里面传的参数是Quadrangle类型的,你传进的参数是Parallelogramgle,Square类型,虽然是子父类关系,但编译时会报错
12 13行。你在主类中创建的对象是父类的对象,父类的对象是不可以调用子类特有而父类自己没有的方法