**
类
**
首先我们必须知道类是一个概念。类是一种可以去定义一个对象或一组对象的结构,类中包含变量(数据)和方法(行为),这些变量和方法决定了对象是什么该做什么。下面我们用java代码去创造一个类
package ch01.dates;
public class Date {
protected int year, month, day;
public static final int MINYEAR = 1583;
//Construor=构造函数
public Date(int newMonth,int newDay,int newYear){
month = newMonth; day = newDay; year=newYear;
}
//Observers=观察函数
public int getDay() {
return day;
}
public int getYear() {
return year;
}
public int getMonth() {
return month;
}
public int lilian(){
return day+month*31+year*365;
}
@Override
public String toString(){
return (month +"/"+ day +"/"+year);
}
}
这就是我们创造的类,一个date类它演示了两种类型的变量:实例变量和类变量
实例变量:year,month,day;(对象里的某种属性打个比方就是相当于食品包装上的营养成分表)
protected int year,month,day;
类变量:MINYEAR(有些时候我们会把静态放在类里方便取用)
ublic static final int MINYEAR = 1583;
**
对象
**
当我们造好了类就好比乐高厂商造好了一组积木。
这时候我们要用积木早东西(对象)
Date myDate = new Date(6,24,1951);
Date yourDate = new Date(10,11,1953);
Date ourDate = new Date(6,15,1984);
上面三行表示data类的对象(其中几块)当我们想好要造什么对象
方法是由对象来调用的。例如,将ourDate对象getyear方法的返回值给整型变量、
theYear = ourDate.getYear();
**
应用程序
**
这时候我们用我们自己造的date类来造一个应用程序 DaysBetween
package ch01.apps;
//提示用户输入两个'现代日期'输出
//两个日期的天数
import java.util.Scanner;//这是一个别人造好的类不是我们造的但是可以用
import ch01.dates.*;
public class DayBetween {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int day,month,year;
System.out.println("Enter two 'modern' dates:month day years");
System.out.println("For example, january 21,1939,would be:1 21 1939");
System.out.println();
System.out.println("Modern dates are not before"+ Date.MINYEAR +".");
System.out.println();
System.out.println("Enter the first date:");
month = scan.nextInt();
day = scan.nextInt();
year = scan.nextInt();
Date d1 = new Date(month,day,year);
System.out.println("Enter the sencond date:");
month = scan.nextInt();
day = scan.nextInt();
year = scan.nextInt();
Date d2 = new Date(month,day,year);
if ((d1.getYear() <= Date.MINYEAR )|| (d2.getYear() <= Date.MINYEAR))
System.out.println("You entered a 'pre-modern' date.");
else
{
System.out.println("The number of days between");
System.out.print(d1 + "and" + d2 + "is");
System.out.println(Math.abs(d1.lilian() - d2.lilian()));
}
}
}
今天的笔记先到此为止,如有错误请多多指教i