第一章 类和对象

类的定义

    类对一类事物抽象所得到的一个概念

    对象:一个具体的事物

  对象是由属性和方法组成,类描述的是对象的结构;属性,描述类的特性,称为成员变量;类的方法描述动作,称为成员方法

         [类修饰符] class类名 {

               // 属性定义---静态特征

               [属性修饰符] 属性数据类型 属性名;

  

               // 方法定义---动态行为

                [方法修饰符] 方法返回值类型 方法名( [参数列表] ){

                       方法体

                 } 

         }

public class Student {
	// 类的属性定义
	String name; // 姓名
	int height; // 身高
	boolean isMan = true; // 是否男性;默认赋值是
	int age; // 年龄
	String favourite; // 爱好

	// 方法定义
	public void display() {
		System.out.println("姓名:" + name + ",年龄:" + age + ",爱好:" + favourite);
	}
}

 

类的使用

     定义类实际就是定义一个数据类型,根据数据类型可以声明变量。根据类也可以声明变量,称为对象。

   类实例化

       类名 对象名 = new 类名( ) ;

   访问属性和方法

       对象名.属性名

      对象名.方法名(参数列表)

public class D2 {
	public static void main(String[] args) {
		// 对象实例化
		Student example = new Student();
		// 属性的访问
		example.name = "墨渐生微";
		example.age = 21 ;
		example.height = 175 ;
		example.favourite = "女" ;
		// 方法的调用
		example.display();
	}	
}

 

对象数组

          数组引用变量是存放在栈内存(stack)中,数组元素是存放在堆内存(heap)中,通过栈内存中的指针指向对应元素在堆内存中的位置来实现访问

public class D1 {
	public static void main(String[] args) {
		// 创建对象数组,引用变量为stu
		Student[] stu = new Student[5] ;
		// 输出stu对象数组,数组内容为null
		System.out.println(Arrays.toString(stu));
		/*
		 * stu数组是存放Student类型对象地址的变量
		 * 定义引用类型数组只是开辟了存放改类型对象地址的空间
		 */
		for (int i = 0; i < stu.length; i++) {
			// 为引用类型数组赋值,使其数组元素指向了具体的对象空间
			stu[i] = new Student() ;
		}
		// 输出stu对象数组,数组内容为对象空间的地址
		System.out.println(Arrays.toString(stu));
		// 为对象赋值
		stu[0].name = "墨渐生微";
		stu[0].age = 21 ;
		stu[0].height = 175 ;
		stu[0].favourite = "女" ;
		// 调用方法
		stu[0].display();
	}
}

 

日期

      java.util.Date:获取时间

import java.util.Date;
public class D2 {
	public static void main(String[] args) {
		// 通过Date类定义time获取当前系统时间
		Date time = new Date() ;
		System.out.println("当前系统时间:"+time);
		// 调用getTime()方法获取距格林尼治时间差
		long timeDifference = time.getTime();
		System.out.println("格林尼治时间:"+timeDifference+"毫秒");
		
		//	调用静态currentTimeMillis()方法获取距格林尼治时间差
		System.out.println("格林尼治时间:"+System.currentTimeMillis()+"毫秒");		
	}
}

      java.text.SimpleDateFormat:格式化时间

import java.text.SimpleDateFormat;
import java.util.Date;

/*
 * 将Date类型时间转换成String(指定)格式
 */
public class D3 {
	public static void main(String[] args) {
		Date time = new Date();
		System.out.println("当前系统时间(Date格式):"+time);
		/*
		 *  yyyy 年  MM 月  dd 日    HH/hh 时(24/12时制)  mm 分   ss 秒
		 */ 
		// 通过SimpleDateFormat类传入时间格式
		SimpleDateFormat formatTime = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		// 调用format()方法将Date类型时间转换成传入的时间格式字符串
		String stime = formatTime.format(time);
		System.out.println("时间:"+stime);
	}
}

 

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
 *  将String(指定)格式时间转换成Date类型
 */
public class D4 {
	public static void main(String[] args) throws ParseException {
		String stime = "2018-9-23 13:45";
		// 通过SimpleDateFormat类传入时间格式
		SimpleDateFormat formatTime = new SimpleDateFormat("yyyy-MM-dd HH:mm");
		// 调用parse()方法将传入的时间格式字符串转换成Date类型时间
		Date time = formatTime.parse(stime);
		System.out.println("默认时间:"+stime);
		System.out.println("Date类型:"+time);
	}
}

 

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
 * 计算时间差
 */
public class D5 {
	public static void main(String[] args) throws ParseException {
		// 字符串时间
		String stime = "1997-02-12 12:24:56";
		// 获取当前系统时间
		Date time = new Date();
		
		// String转换成Date
		SimpleDateFormat formatTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date agoTime = formatTime.parse(stime);
		
		// 转换成格林尼治时间		
		long t1 = time.getTime();
		long t2 = agoTime.getTime();
		// 时间转换成年
		long t = (t1 - t2)/1000/60/60/24/30/12 ;
		System.out.println(stime+"距离现在"+t+"年");
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值