Java入门(8) 创建新类

王朝java/jsp·作者佚名  2008-05-31
宽屏版  字体: |||超大  

摘要

阅读完本章后,大家应能根据需要定义并使用一个用户类,并能够根据需求说明这个用户类的特性。另外,还应该能够使用继续的方法创建子类,实现类的最大化使用。

--------------------------------------------------------------------------------

本章目标:

阅读完本章后,大家应能根据需要定义并使用一个用户类,并能够根据需求说明这个用户类的特性。另外,还应该能够使用继续的方法创建子类,实现类的最大化使用。

8.1 定义并使用一个新类

传授新知

在前面几章中,我们碰到了不少用Java语言编写的程序,它们可以分为两类:

1) Java应用程序;

2) Java小应用程序。

它们都有一个共同的特点,那就是整个程序中只包含一个类。不同在于,这个唯一的类的定义不尽相同。

在Java应用程序中,形如:

public class testBranch1

而在Java小应用程序中,则形如:

public class VariableScope extends Applet

其实,在这些程序中都使用到了其它类。在小应用程序中,很明显,所有的类都是从Applet类中继续来的。在应用程序中,也使用了其它的类,不过不是十分明显,大家想想,System.out.println是从哪来的呢?它是从其它类中继续过来的,它包含在java.lang包中,无须指明,编译器能够自动处理。

Java语言的开发工具包(JDK)中就包含了许许多多的已开发定义的类,我们可以通过使用它们迅速地构建自己的程序。假如你能够熟练地使用它们就能够使用Java语言写出自己所需要的程序。而假如你想要成为Java语言的高手,就一定要学会自己定义类,以供今后的程序使用。下面我们一起来看一下下面这个例子。

实例说明

1.首先,我们使用文字编辑软件输入下面这个源程序。

源程序:Birthday.java

public class Birthday

{

public String year;

public String month;

public String day;

public Birthday()

{

year=”0000”;

month=”00”;

day=”00”;

}

public Birthday(String y,String m,String d)

{

year=y;

month=m;

day=d;

}

public String getBirthday()

{

String fullbirthday=month+”/”+”/”+day+”/”+year;

return fullbirthday;

}

}

2.编译这个程序,假如顺利完成,将在当前目录下生成一个名为Birthday.class的文件;

c:javastudy> javac Birthday.java

3.然后输入以下命令,运行这个程序:

c:javastudy> java Birthday

执行这个程序,将输出一些信息,如下图所示:

图8-1 执行Birthday类的输出

Java语言责怪我们没有定义main方法。

4.接下来,我们再用文字编辑软件输入以下源程序。

源程序:useBirthday.java

public class useBirthday

{

public static void main(String argv[])

{

Birthday birthday1=new Birthday();

Birthday birthday2=new Birthday("1949","10","01");

System.out.println(birthday1.getBirthday());

System.out.println(birthday2.getBirthday());

}

}

3.使用javac编译后,执行以下命令,运行这个程序:

c:javastudy> java useBirthday

执行这个程序,将输出一些信息,如下图所示:

图8-2 执行useBirthday类的输出

传授新知

我们先来看一下第二个程序useBirthday.java,这是个Java应用程序,main方法中共有四条语句。前两条,看上去象是定义变量:

Birthday birthday1=new Birthday();

Birthday birthday2=new Birthday("1949","10","01");

但是,我们从来没有向大家介绍过Birthday这种变量类型呀!是的,在Java语言中并没有Birthday这种变量类型。

可是这条语句在编译过程中并没有报错呀!这是因为,Java语言编译器在useBirtday.java程序所在目录中发现了包含Birthday类定义的Birthday类:Birthday.class。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有