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

菜鸟学java百问(1)

    来源: 互联网  发布时间:2015-10-26

    本文导语:  各位高手:     小弟刚学java不久,在书上有如下一段程序: package lee; /**  * Title:   * Description:   * Copyright: Copyright (c) 2002  * Company:   * @author unascribed  * @version 1.0  */ public class Flower{   private int peta...

各位高手:
    小弟刚学java不久,在书上有如下一段程序:
package lee;

/**
 * 

Title: 


 * 

Description: 


 * 

Copyright: Copyright (c) 2002


 * 

Company: 


 * @author unascribed
 * @version 1.0
 */

public class Flower{
  private int petalCount=0;
  private String s = new String ("null");
  Flower (int petals) {
    petalCount = petals;
    System.out.println(
      "Coustructor w/ int arg only,petalCount="+petalCount
    );
 }
  Flower(String ss) {
    System.out.println(
      "Constructor w/ String arg only,s=" + ss);
    s=ss;
    }
    Flower (String s, int petals) {
      this(petals);
      this.s=s;
      System.out.println("String & int args");
    }
  Flower() {
    this("hi",47);
    System.out.println(
      "deault counstructor (no args)");
    }
  void print() {
    System.out.println(
      "petalCount=" + petalCount + "s=" + s);
  }
  public static void main(Sting[] args) {
    Flower x=new Flower();
    x.print();


  我用jbuilder6  run project 结果出了一下错误 
       "Untitled1.java": Error #: 475 : class Flower is public; must be declared in a file named Flower.java at line 12, column 8
        "Untitled1.java": Error #: 300 : class Sting not found in class lee.Flower at line 40, column 27
   这个程序是为了说明 this 关键字的构建器中调用构建器 内容
       但是,对于这个问题我还不很清楚, 希望对此能为我详细说明一下。
     1 哪里体现构建器调用??
     2 怎么运行不了程序????
     3 关于 this 关键字 除了这里说的,还有什么相关重要知识??

  希望对于这个问题能给小弟一个全面详细的解说!!

|
1.
"Untitled1.java": Error #: 475 : class Flower is public; must be declared in a file named Flower.java at line 12, column 8

这句话的意思是:在"Untitled1.java"文件中出错了,Flower类是public的,那么他所在的文件名必须是Flower.java.
在java中,一个.java文件中可以声明多个class,但是最多只能有一个public声明,而且这个文件的名字必须和这个public class同名。你这里的public类是Flower,但是文件名是Untitled1.java,所以出问题了。

2。

        "Untitled1.java": Error #: 300 : class Sting not found in class lee.Flower at line 40, column 27
这句话的意思是:在“Untitled1.java"文件中出现了如下错误:Sting这个类在类lee.Flower中没有找到。后面的40,27是错误的位置。

这类“class *** not found”一般是没有import 这个类所在的包。但是你的问题还不是没有加入包,而是把“String”误写为“Sting”。这种问题应该在编译前就仔细查照以下。

3。关于构建器的调用:
你这个类里边有两个成员变量,有四个构造函数。
其中

  Flower (int petals) {
    petalCount = petals;
    System.out.println(
      "Coustructor w/ int arg only,petalCount="+petalCount
    );
 }
  Flower(String ss) {
    System.out.println(
      "Constructor w/ String arg only,s=" + ss);
    s=ss;
    }
    
这两个分别是带一个参数的,并且给参数赋值,另外一个参数就是你定义的初始值了。

还有两个构造器:
    Flower (String s, int petals) {
      this(petals); //这里就调用了Flower(int petals)这个构造器。相当于先执行Flower(int petals),然后在执行下面的语句。
      this.s=s;
      System.out.println("String & int args");
    }

同样的:

  Flower() {
    this("hi",47);
    System.out.println(
      "deault counstructor (no args)");
    }
  
这个就是先执行Flower(String ss,int petals)这句,然后执行下面的。


4。程序不能运行?
那是因为你还没有编译通过,当改掉你的所有错误,编译通过后,就可以执行你的代码。
Flower x=new Flower();
x.print();

执行的结果是这样子的:
首先Flower x=new Flower();
这句调用Flower()构造器,而它内部由调用Flower("hi",47),而这个构造器由调用Flower(int petals).
所以首先输出:
Coustructor w/ int arg only,petalCount=47  //这是Flower(int)方法中的
接着输出:
String & int args//这是Flower(String,int)方法中的。
再输出:
deault counstructor (no args)//这才是Flower()方法中的。
最后输出:
petalCount=47s=hi
这是你的x.print()语句输出的。


  

|
.java文件名要和类名一样,是区分大小写的。

|
先说说你的第一个错误:
Untitled1.java": Error #: 475 : class Flower is public; must be declared in a file named Flower.java at line 12, column 8
这是因为你的Flower类是public的,但是你的命名没有是Flower.java


        "Untitled1.java": Error #: 300 : class Sting not found in class lee.Flower at line 40, column 27

public static void main(Sting[] args) {//这里的String错了!
    Flower x=new Flower();
    x.print();

    
 
 

您可能感兴趣的文章:

  • 怎样从一个菜鸟级的java programer升级到一个菜鸟级的java developer
  • ----菜菜鸟第三问:-菜鸟菜问:JAVA如何求 根号、开次方? -----
  • 菜鸟的问题:java与java script 的异同??
  • Java菜鸟想学Java,请高手指教!(内有内容)
  • 菜鸟,java的运行问题
  • 菜鸟问题:unix中有像windows那样的自定义的环境变量吗?用java如何取
  • 一个菜鸟的关于Java
  • Java菜鸟之才鸟问题
  • 菜鸟问题:在Java中如何接收从键盘输入的字符串?
  • 菜鸟问题:如何让jsp来获取与之关联的java 数据(赚分了)
  • 大虾们,我是JAVA菜鸟,请问你们用什么JAVA开发工具???(回答有分)
  • 我很想学JAVA,但我是菜鸟,请问各位大虾,能推荐些好书吗?
  • 菜鸟问题,java.library.path如何设置?
  • 菜鸟问题:java 的帮助,去那里看
  • 菜鸟问题——其他语言怎样使用Java编写的程序(明确地说,使Class)
  • 菜鸟问:怎么把java程序作成.exe文件??谢谢
  • 那在JAVA中怎样调用时间?(我是菜鸟)
  • java菜鸟提问,一个简单得不得了的,不能再简单的输出问题!!!!
  • 小弟是JAVA的菜鸟,请问哪里有有关JSP等JAVA教程的电子书籍可以下载!谢谢,帮助者都有分!!
  • 关于java的菜鸟问题!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 菜鸟问一个关于j2ee的菜鸟问题
  • 一个连菜鸟都算不上的菜鸟
  • 菜鸟求问菜鸟问题 ,域名绑定
  • ===菜鸟系列===:写过毕业论文的前辈请进!!!菜鸟散分啦!!!!
  • gcc问题---菜鸟发问之一,老大们帮忙啊!!菜鸟分不多,只好给这点了,对不起!!
  • 菜鸟又来问菜鸟问题了
  • 菜鸟的Linux练习疑问……
  • 菜鸟刚学jsp,还不知道怎么和sql server2000的数据库相连,我已经把odbc配好了,谁能给我一段和数据库相连的并显示所有数据的代码!菜鸟
  • 菜鸟提问,我怎么装redhat7。1
  • 菜鸟写的俄罗斯方块,请多多批评!
  • 小问题,你一定能够帮忙!——菜鸟请求帮忙!!
  • 一个菜鸟的请求: 哪位前辈能给晚辈讲讲“匿名类”
  • ※菜鸟送分之一※ Red Hat Linux 的最高版本是多少?
  • ★菜鸟问:怎么在RED HAT LINUX7.2中用169上网??
  • 菜鸟提问:包是什么概念?
  • 菜鸟问题~~快点进来拿分
  • 菜鸟菜问题1
  • 如何解压光盘上的gz文件到某个目录?(Linux 超级菜鸟问题之一)
  • 菜鸟问题:如何在Solaris下配置显卡和显示器
  • 菜鸟问题:RED HAT下的网上邻居功能在哪?


  • 站内导航:


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

    ©2012-2021,