栗子1
这一个测试了关于不同包的新建和引用问题。(一个是默认包,一个是新建的测试包)
//---------------------------Employee.java
package com.f.corajava;
import java.util.*;
public class Employee
{
private String name;
private double salary;
private Date hireday;
public Employee(String n,double s,int year,int month,int day)
{
name=n;
salary=s;
GregorianCalendar calendar=new GregorianCalendar(year,month-1,day);
hireday=calendar.getTime();
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public Date getHireday()
{
return hireday;
}
public void raiseSalary(double byPercent)
{
double raise=salary*byPercent;
salary+=raise;
}
}
//--------------------------PackageTest.java
import com.f.corajava.*; //导入定义Employee类那个包
import static java.lang.System.*; //静态导入类文件时,在下面的引用方法时可不加类名前缀
public class PackageTest
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Employee[] staff=new Employee[2]; //声明对象数组,以及下面对两个数组对象成员定义时都得用new
staff[0]= new Employee("Tom",7500,1987,12,15);
staff[1]=new Employee("Jack",10000,1985,06,03);
out.println("Before:");
for(Employee e:staff)
out.println("name="+e.getName()+"---salary="+e.getSalary()+"---hireday="+e.getHireday());
out.println("After:");
Employee Jack=staff[1];
Jack.raiseSalary(10);
out.println("name="+Jack.getName()+"---salary="+Jack.getSalary());
}
}
结果:
注1:关于对Java.util包,其基本层次结构如下:
摘自:http://blog.youkuaiyun.com/abeetle/article/details/1497706
栗子2:关于枚举类
//-------------------------Size.java
package enums;
public enum Size //定义一个枚举类(型号)
{
//列出所有的枚举常量
SMALL("S"),MEDIUM("M"),LARGE("L"),EXTRA_LARGE("XL");
//添加域、构造器和其他方法
private String abbreviation;
private Size(String abbreviation){this.abbreviation=abbreviation;}
public String getAbbreviation() {return abbreviation;}
}
//--------------------------------EnumTest.java
package enums;
import java.util.*;
public class EnumTest
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
System.out.print("Enter a size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)");
//toUpperCase()将所输入的英文字母小写转换成大写的,相反的是toLowerCase()
String input =in.next().toUpperCase();
/****************************************************
toString()可以返回枚举常量名,如Size.SMALL.toString()返回字符串"SMALL"
相反的操作便是valueOf()
Size s=Enum.valueOf(Size.class,"SMALL");表示将s设置成Size.SMALL
****************************************************/
Size s=Enum.valueOf(Size.class, input);
System.out.println("size="+s);
//这个getAbbreviation()是什么意思?他为什么能够返回L?
System.out.println("abbreviation="+s.getAbbreviation());
if(s==Size.EXTRA_LARGE)
System.out.println("Good job--you paid attention to the _.");
}
}
结果: