day02

1.简述对象与类

对象是实体,需要被创建,可以为我们做事情
类是规范,根据类的定义来创建对象
对象=属性+服务

2.定义类

package vendingmachine;

public class VendingMachine {
	int price=80;
	int balance;
	int total;
	
	void showPrompt()
	{
		System.out.println("welcome");
	}
	
	void insertMoney(int amount)
	{
		balance=balance+amount;
	}
	
	void showBalance()
	{
		System.out.println(balance);
	}
	
	void getFood()
	{
		if(balance>=price) {
			System.out.println("Here you are");
			balance=balance-price;
			total=total+price;
		}	
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		VendingMachine vm=new VendingMachine();
		vm.showPrompt();
		vm.showBalance();
		vm.insertMoney(100);
		vm.getFood();
		vm.showBalance();
	}
	

}

创建对象:VendingMachine vm=new VendingMachine();\\对象的变量是对象的管理者

3.成员变量和成员函数

定义在函数内部的变量就是本地变量
本地变量的生存期和作用域都是函数内部

成员变量的生存期是对象的生存期,作用域是类内部的成员函数

4.对象初始化

构造函数:
如果有一个成员函数的名字和类的名字完全相同,则在创建这个类的每一个对象的时候会自动调用这个函数。(这个函数不能有返回类型)
函数重载:
一个类可以有多个构造函数,只要他们参数表不同
创建对象的时候给出不同的参数值,就会自动调用不同的构造参数
一个类里的同名但参数表不同的函数构成了重载关系

5.对象的识别

package clock;

public class Display {
	private int value=0;
	private int limit=0;
	
	public Display(int limit) {
		this.limit=limit;
	}
	
	public void increase() {
		value++;
		if(value==limit) {
			value=0;
		}
	}
	 
	public int getValue() {
		return value;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Display d=new Display(24);
		for(;;) {
			d.increase();
			System.out.println(d.getValue());
		}
	}

}

代码作用:从0开始一直走到23然后归0
private的意思是私有的,在java中表示在本类中可以引入使用
public表示公开的,即所有的类都可以引入使用

6.对象的交互

package clock;

public class Clock {
	private Display hour=new Display(24);
	private Display minute=new Display(60);
	
	public void start() {
		while(true) {
			minute.increase();
			if(minute.getValue()==0) {
				hour.increase();
			}
			System.out.printf("%02d:%02d\n",hour.getValue(),minute.getValue());
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Clock clock=new Clock();
		clock.start();
	}

}

解读:一个clock对象里由两个display的对象组成。

7.封闭的访问属性

对象=属性+服务
数据:属性或状态
操作:函数
把数据和对数据的操作放在一起就是封装

即没有private也没有public的,我们叫做friendly,意思是和它位于同一个包的其他类可以访问。

一个.java文件(一个源代码文件)叫做一个编译单元
当一个编译单元有不止一个类的时候,只有一个类可以是public。
源代码文件名必须和public类名字相同

8.包

只要你要用到的类和你不在一个包里就要用到import

9.类变量(static)

private static int ste;

可以通过类名.类变量这样的方式访问

10.类函数

public static void f()

static函数只能调用static函数,只能调用static的成员变量

类函数和类变量是属于类的,而不属于其他具体的对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值