5.12.1猫与狗
//Animal.java
public class Aminal {
protected String name;
public void showName(){
System.out.println(name);
}
public void cry(){
System.out.println(“不同动物的叫声是有区别的”);
}
}
//Dog.java
public class Dog extends Aminal{
Dog(String s){
name=s;
}
public void cry(){
System.out.println("汪汪汪");
}
public void swimming(){
System.out.println(“狗会游泳”);
}
}
//Cat.java
public class Cat extends Aminal{
Cat(){
name=“猫”;
}
Cat(String s){
name=s;
}
public void cry(){
System.out.println(“喵喵喵”);
}
public void climbUpTree(){
System.out.println(name+“会爬树”);
}
}
//MainClass.java
public class MainClass {
public static void main(String[] args){
Dog dog=new Dog(“小黄狗”);
Cat cat=new Cat(“小花猫”);
// Dog dog1=new Dog();
Cat cat1=new Cat();
dog.showName();
dog.cry();
dog.swimming();
cat.showName();
cat.cry();
cat.climbUpTree();
cat1.showName();
cat1.cry();
cat1.climbUpTree();
}
}
5.12.2图形的面积和
//Geometry.java
public abstract class Geometry {
public abstract double getArea();
}
//Rect.java
public class Rect extends Geometry{
double a,b;
Rect(double a,double b){
this.a=a;
this.b=b;
}
public double getArea(){
return a*b;
}
}
//Circle.java
public class Circle extends Geometry{
double r;
Circle(double r){
this.r=r;
}
public double getArea(){
return 3.1415926rr;
}
}
//Student.java
public class Student {
public double area(Geometry…p){
double sum=0;
for(int i=0;i<p.length;i++){
sum=sum+p[i].getArea();
}
return sum;
}
}
//MainClass.java
public class MainClass {
public static void main(String[] args){
Student zhang=new Student();
double area=zhang.area(new Rect(2,3),new Circle(5.2),new Circle(12));
System.out.printf(“2个圆和1个矩形图形面积和:\n%10.3f”,area);
}
}
子类与父类的使用考试必有