代码如下import java.util.*;class Tool {
protected String Num;
protected float  Exhaust;
protected int    Speed;
public Tool(String n_Num,float n_Exhaust,int n_Speed){
Num = new String(n_Num);
Exhaust = n_Exhaust;
Speed = n_Speed;
} /**
 * Method ShowInfo
 *
 *
 */
public void ShowInfo() {
System.out.println("汽车牌照:" + Num);
System.out.println("汽车排气量:" + Exhaust);
System.out.println("汽车速度:" + Speed);
}}class CTrack extends Tool{
/**
 * Method ShowInfo
 *
 *
 */
protected int High = 0;
protected int Weigth = 0;
public void ShowInfo() {
// TODO: Add your code here
// super.ShowInfo();
System.out.println("汽车高度:" + High);
System.out.println("汽车载重:" + Weigth);
} public CTrack(String n_Num,float n_Exhaust,int n_Speed,int n_High,int n_Weigth){
super(n_Num,n_Exhaust,n_Speed);
High = n_High;
Weigth = n_Weigth;
}
}
class CCar extends Tool{
protected int CColor = 0;
protected boolean Flag = false;
public CCar(String n_Num,float n_Exhaust,int n_Speed,int n_Color,boolean n_Flag){
super(n_Num,n_Exhaust,n_Speed);
CColor = n_Color;
Flag  = n_Flag;
} /**
 * Method ShowInfo
 *
 *
 */
public void ShowInfo() {
// TODO: Add your code here
// super.ShowInfo();
System.out.println("汽车颜色:" + CColor);
System.out.println("是否敞棚:" + Flag);
}
}
public class MyClass {

/**
 * Method main
 *
 *
 * @param args
 *
 */  MyClass(){  }
public static void main(String[] args) {
  CCar mya = new CCar("1004",1.35,120,0,true);
CTrack myb= new CTrack("1005",2.00,100,3,200);
mya.ShowInfo();
myb.ShowInfo();
}}

原本我是做C++的,但把原来的面向对象思想写一个简单的JAVA程序竟然编译错误。大家帮我看下吧,希望能帮我度过这个语法的问题。

解决方案 »

  1.   

    import java.util.*;class Tool {
    protected String Num;
    protected float  Exhaust;
    protected int    Speed;
    public Tool(String n_Num,float n_Exhaust,int n_Speed){
    Num = new String(n_Num);
    Exhaust = n_Exhaust;
    Speed = n_Speed;
    }/**
     * Method ShowInfo
     *
     *
     */
    public void ShowInfo() {
    System.out.println("汽车牌照:" + Num);
    System.out.println("汽车排气量:" + Exhaust);
    System.out.println("汽车速度:" + Speed);
    }}class CTrack extends Tool{
    /**
     * Method ShowInfo
     *
     *
     */
    protected int High = 0;
    protected int Weigth = 0;
    public void ShowInfo() {
    // TODO: Add your code here
    //super.ShowInfo();
    System.out.println("汽车高度:" + High);
    System.out.println("汽车载重:" + Weigth);
    }public CTrack(String n_Num,float n_Exhaust,int n_Speed,int n_High,int n_Weigth){
    super(n_Num,n_Exhaust,n_Speed);
    High = n_High;
    Weigth = n_Weigth;
    }
    }
    class CCar extends Tool{
    protected int CColor = 0;
    protected boolean Flag = false;
    public CCar(String n_Num,float n_Exhaust,int n_Speed,int n_Color,boolean n_Flag){
    super(n_Num,n_Exhaust,n_Speed);
    CColor = n_Color;
    Flag  = n_Flag;
    }/**
     * Method ShowInfo
     *
     *
     */
    public void ShowInfo() {
    // TODO: Add your code here
    //super.ShowInfo();
    System.out.println("汽车颜色:" + CColor);
    System.out.println("是否敞棚:" + Flag);
    }
    }
    public class MyClass {/**
     * Method main
     *
     *
     * @param args
     *
     */ MyClass(){ }
    public static void main(String[] args) {
     CCar mya = new CCar("1004",1.35f,120,0,true);//这两个构造函数中第二个参数应该是float型
     CTrack  CTrackmyb= new CTrack("1005",2.00f,100,3,200);
    mya.ShowInfo();
    CTrackmyb.ShowInfo();//这里估计楼主要的是CTrackmyb
    }}
    其他没什么错了
      

  2.   

    CTrack  CTrackmyb= new CTrack("1005",2.00f,100,3,200);
    对了这句还少了个类型声明