当前位置:  技术问答>java相关

通过一段代码纠正概念错误

    来源: 互联网  发布时间:2015-09-23

    本文导语:  我刚开始接触JAVA,我发现有很多概念不清,写了一段自以为正确的代码,但是在JBuild6 上并不通过,我应该没有逻辑和语法错误,也许是一些概念不清,代码本身有原则性的错误,希望各位给予指导,谢谢。 abstract...

我刚开始接触JAVA,我发现有很多概念不清,写了一段自以为正确的代码,但是在JBuild6 上并不通过,我应该没有逻辑和语法错误,也许是一些概念不清,代码本身有原则性的错误,希望各位给予指导,谢谢。

abstract class car{ //abstract class about car

//public data field declare
public String color; //car's color
public int gearNum; //car's speed
public String tiretype; //car's tire type
public float engine; //car's engine amount

//public abstract method declare
public abstract void shiftgear(); //change speed
public abstract void brake(); //brake
public abstract void aircon(); //open air condition
public abstract void headlight();//open light

}

//-------------------------------------------------------------------

class jcar extends car{
static int gearNum=5;
static String color="red";

  public jcar(){ //constrctor function
  tiretype="Dongfeng";
  engine=1998.9f;
  }

  public void paintcar(){//paint car information
  System.out.println("car's color is: "+color);
  System.out.println("car's speed is: "+gearNum);
  System.out.println("car's tire type is: "+tiretype);
  System.out.println("car's engine amount is: "+engine);
  }

  public void shiftgear(){
  System.out.println("shiftgear method");
  }

  public void brake(){
  System.out.println("brake");
  }

  public void aircon(){
  System.out.println("air condition");
  }

  public void headlight(){
  System.out.println("head light");
  }

}

//-------------------------------------------------------------------

public class mycar extends jcar{

  public mycar(){ //set car's color
  color="blue";
  }

  public static void main(){
  mycar a1=new mycar();
  a1.paintcar();
  a1.shiftgear();
  a1.brake();
  a1.aircon();
  a1.headlight();
  }
}

|
稍微修改了下,请各位高手指教

abstract class car

//abstract class about car

//public data field declare

String color;  //car's color
int gearNum;  //car's speed
String tiretype;  //car's tire type
float engine;  //car's engine amount

//public abstract method declare
public abstract void shiftgear(); //change speed
public abstract void brake(); //brake
public abstract void aircon(); //open air condition
public abstract void headlight();//open light

}

//-------------------------------------------------------------------

class jcar extends car
{
static int gearNum=5;
static String color="red";

   public void jcar()
   { //constrctor function
    tiretype="Dongfeng";
    engine=1998.9f;
   }

  public void paintcar()
  { //paint car information
   System.out.println("car's color is: "+color);
   System.out.println("car's speed is: "+gearNum);
   System.out.println("car's tire type is: "+tiretype);
   System.out.println("car's engine amount is: "+engine);
  }

  public void shiftgear()
  {
  System.out.println("shiftgear method");
  }

  public void brake(){
  System.out.println("brake");
  }

  public void aircon(){
  System.out.println("air condition");
  }

  public void headlight(){
  System.out.println("head light");
  }

}

//-------------------------------------------------------------------

 public class mycar 
 {
   public static void main(String args[])
   {
    jcar a1=new jcar();
    a1.paintcar();
    a1.shiftgear();
    a1.brake();
    a1.aircon();
    a1.headlight();
   }
 }

|
你的主要错误是public static void main(){
这一句。
main方法必须严格按照public static void main(String args[]){
或public static void main(String[] args){
书写。
同时,一个类的数据成员一般定义为private,你的程序里汽车的属性都定义为public,是一种不好的编程风格。
另外,jcar中定义的gearNum和color既改变了访问控制(由public变成了默认访问),又改变了静态性(由非static变成了static),由于这些都是属性缩小的改变,编译还是可以通过的,但也欠妥。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在Linux系统上recv返回错误,通过errno得到的错误消息为"Interrupted system call"
  • g++编译联接都通过,运行却提示"段错误",怎么回事?
  • 急!!! 怎么通过core文件,查找程序中的错误!???
  • 我是编译通过了,但是运行时却有这样的错误,怎么回事啊?
  • linux通过网上邻居访问windowsXP时记住错误密码的问题
  • 编译javac HelloWorld.java通过后生成class文件,但运行时总出现noclass错误!
  • VC++实现通过API来查看程序错误信息的方法
  • linphonec编译通过,但是运行的时候却提示很多错误......请高手看看
  • 200分!!嵌入式Linux下通过TCP访问服务器,Socket被服务器重置,错误号104??(高手请进)解决后加送100分!!!
  • 通过umask来设定系统默认权限得到的是错误的结果,这是怎么回事??
  • 下面这个程序编译后通过,运行时显示“段错误”,为什么呀,怎么改?
  • 一个简单的程序,编译可以通过但是,不出现结果,错误提示为无数个at Test.<init>(TestNonStatic.java:8),怎么回事
  • C语言创建链表错误之通过指针参数申请动态内存实例分析
  • 求助:这个程序有什么错误,虽然编译通过,但是这个地址没有连接上
  • item[i] =Float.parseFloat(name2) 编译通过 测试时却出现错误这是怎么回事,该怎么改?????
  • 编了一段很小的程序,报了一个很低级的错误(编译通过)
  • 一个很简单的通过socket发送接受文件的程序,出现了segmentation fault错误。请各位帮忙
  • 昨晚,通过朋友的帮助,现在程序还有一点错误,急盼回答!(在线等待)
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过javascript库JQuery实现页面跳转功能代码
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • linux下通过crond实现自动执行程序
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • 通过docker commit命令保存对docker容器的修改
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker run命令运行新的docker镜像


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3