sy06_1:创建并使用自定义包

匿名 (未验证) 提交于 2019-12-03 00:34:01

(一)创建并使用自定义包

1.自定义包的声明方式

       <package>  <自定义包名>

    声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包。

2.创建自定义包 Mypackage

在存放源程序的文件夹中建立一个子文件夹 Mypackage。例如,在“D:\java\javacode”文件夹之中创建一个与包同名的子文件夹 Mypackage(D:\java\javacode\Mypackage),并将编译过的 class 文件放入到该文件夹中。 注意:包名与文件夹名大小写要一致。


3.在包中创建类

1)      编写程序KY6_1.java,在源程序中,首先声明使用的包名 Mypackage,然后创建KY6_1类,该类具有计算今年的年份,可以输出一个带有年月日的字符串的功能。

2)      源代码如下。

package Mypackage;				//声明存放类的包      import java.util.*;                         //引用 java.util 包      public class KY6_1 {         private int year,month,day;         public static void main(String[] args){}         public KY6_1 (int y,int m,int d) {             year = y;             month = (((m>=1) & (m<=12)) ? m : 1);             day = (((d>=1) & (d<=31)) ? d : 1);         }         public static int thisyear() {              return Calendar.getInstance().get(Calendar.YEAR);//返回当年的年份          }         public int year() {             return year;//返回年份         }         public String toString(){                 return year+"-"+month+"-"+day;//返回转化为字符串的年-月-日         } }

3)      编译KY6_1.java 文件,然后将KY6_1.class 文件存放到 Mypackage 文件夹中(D:\java\javacode\Mypackage)。注意:先不运行程序KY6_1.class!

 4.编写一个需要使用到包 Mypackage 中的KY6_1 类的程序KY6_2.java。

1)       编写 KY6_2.java 程序:给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。程序使用了KY6_1 的方法来计算年龄。

2)       源代码如下。

package Mypackage;  import Mypackage.KY6_1; //引用 Mypackage 包中的KY6_1 类 public class KY6_2 {      private String name;      private KY6_1 birth;  	public static void main(String args[])      {          KY6_2 a = new KY6_2("张驰",1990,1,11);          a.output();      }     public KY6_2 (String n1, int y, int m, int d)      {  				 //初始化变量与对象 		name = n1;         birth = new KY6_1(y, m, d);      }      public int age()                                   //计算年龄      {          return KY6_1.thisyear() - birth.year(); //返回当前年与出生年的差即年龄      }     public void output()     {          System.out.println("姓名 : "+name);          System.out.println("出生日期: "+birth.toString());          System.out.println("今年年龄 : "+age());      }  }

3)       编译KY6_2.java 程序并运行程序KY6_2.java

4)       在实验报告中写出该程序的运行结果。

            姓名 : 张驰

            出生日期: 1990-1-11

            今年年龄 : -28

5)       程序运行的结果有没有问题?问题出在哪里?请在实验报告中指出。

答:输出结果今年年龄不能为负数,返回值应该是return KY6_1.thisyear() - birth.year();

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!