java面向对象学习笔记——类,对象和应用程序

**

**
首先我们必须知道类是一个概念。类是一种可以去定义一个对象或一组对象的结构,类中包含变量(数据)和方法(行为),这些变量和方法决定了对象是什么该做什么。下面我们用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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值