sy06_1:创建并使用自定义包

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

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();

猜你喜欢

转载自blog.csdn.net/qq_40956679/article/details/80796763
今日推荐