// 継承によって,メソッドの返値型を統一サンプル import java.lang.Math; class Takakkei { public double syuui(){ return 0.0; } public double menseki(){ return 0.0; } } class TyokakuSannkakkei extends Takakkei{ private double a; private double b; public TyokakuSannkakkei (double xa, double xb){ a = xa; b = xb; } public String toString(){ return "この直角三角形の直角を挟む辺は," + a + ", " + b; } public double mawari(){ return a+b+(double)Math.sqrt(a*a+b*b); } public double menseki(){ return (a*b)/2; } } class Tyouhoukei extends Takakkei{ private float a; private float b; public Tyouhoukei (float xa, float xb){ a = xa; b = xb; } public String toString(){ return "この長方形の辺は " + a + ", " + b; } public double syuui(){ return (a+b)*2; } public double menseki(){ // public float menseki() だとコンパイルエラー return a*b; } } public class xExtd01 { public static void main(String xargs[]){ TyokakuSannkakkei tyosan = new TyokakuSannkakkei(3.0, 4.0); Tyouhoukei tyou = new Tyouhoukei(6.0f, 7.0f); System.out.print(tyosan); System.out.print (" 周囲:" + tyosan.mawari()); System.out.println(" 面積:" + tyosan.menseki()); System.out.print(tyou); System.out.print (" 周囲:" + tyou.syuui()); System.out.println(" 面積:" + tyou.menseki()); } }