技协第二课

2018-11-04  本文已影响0人  qybl

//因参加会议,本次课未上。

题目:写个形状shape类,定义一个draw方法(方法中不用实现什么复杂的功能,输出一句话就可以)和一些其它方法,然后写几个子类比如三角形,矩形,圆形,并且重写draw方法,同时实现几个自己独有的方法。然后在main方法中通过多态的形式调用不同类的draw()方法。

代码:

重写:

反思:子类不会直接继承父类的有参构造方法,需要使用类似17、18行的方法进行调用。

附代码文本:

package shapetest;

class Shape {

int number;

String name;

Shape(){}

Shape(int a, String str) {

number = a;

name = str;

}

public void draw() {

System.out.printf("The number is %d,and the name is %s\n", number, name);

}

}

class Circle extends Shape{

Circle(int a,String str){

super(a,str);

}

int r;

float area() {

float area=3.14f*r*r;

return area;

}

}

class rectangle extends Shape{

int a;

int area() {

int area=a*a;

return area;

}

}

public class shapetest {

public static void main(String[] args) {

Shape a = new Shape(1, "triangle");

a.draw();

Circle b=new Circle(2,"happy");

b.draw();

rectangle c=new rectangle();

c.name="good";

c.a=10;

c.draw();

System.out.println(c.area());

}

}

上一篇下一篇

猜你喜欢

热点阅读