Java初学几天的学习总结——一个菜鸡的自我学习之路(2)

第四课,定义类:

package vendingmachine;

public class VendingMachine {
 	int price = 80;     //属性
 	int balance = f();  //属性
 	int total;          //属性

	VendingMachine() //构造函数(构造函数没有返回类型)
 	{     //构造函数的名字与类的名字完全相同
 	 	total = 0;
 	}
 	VendingMachine( int price ) //上下两者的区别用debug的方法自己体会
 	{
  		this();     
  	//调用另一个构造函数(必须只能在构造函数中使用,并且只能在第一行,使用一次)
  		this.price = price;
 	}
 	//一个类中重名但参数表不同的函数构成了重载关系
 	int f()
 	{
  		return 0;
 	}
 
 	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) {
  		VendingMachine vm = new VendingMachine(); //创建对象
  		vm.showPrompt();
  		vm.showBalance();
  		vm.insertMoney(100);
  		vm.getFood();
  		vm.showBalance();
  		VendingMachine vm1 = new VendingMachine(100);
  		vm1.insertMoney(200);
  		vm.showBalance();
  		vm1.showBalance();
	}
}

第五课,private,public和static等一些的知识点:

package display;

public class Display {
 	private int value = 0; 	//private 私有的,只能用于本个类中
 	private int limit = 0; 	//除非特殊情况,否则成员变量(如value和limit)都是private
 
       				//private的私有是针对于类而不是对象;同一个类的所有不同对象之间可以
       				//访问别人的私有成员
       	private static int step = 1;//static变量称为类变量,static变量不属于任何一个对象而是属于类本身
        //任何这个类的对象里面都不包含static变量
 
 	public Display( int limit ){ 	//不加public或者private的是friendly型,在同一个包里的可以访问这个类
  		this.limit = limit;   	//一个.java文件是一个编译单元
 	}        			//一个编译单元中有不止一个类时,只能有一个public的class,
         				//并且public的类的名字必须与文件名相同
         	
         public void increase() {
  		value++;
  		if( value == limit )
  		{
   			value = 0;
  		}
 	}
 
 	public int getValue() {
  		return value;
 	}
 
 	public static void f() {
  
 	}

	public static void main(String[] args) {
//  		Display d = new Display(24);   这些为时钟的源代码
//  		for( ; ; )
//  		{
//   			d.increase();
//   			System.out.println(d.getValue());
//  		}
  		Display d1 = new Display(10);
  		Display d2 = new Display(20);
  		d1.increase();
  		f();     	//static函数只可以调用static函数,也只能访问static变量
  		d1.f();     	//static的函数和变量都可以通过对象来进行访问,或者直接通过类来访问
  		System.out.println(d1.getValue());
  		System.out.println(d2.getValue());
  		System.out.println(d1.step);
  		System.out.println(d2.step);
  		d1.step = 2;
  		System.out.println(d1.step);
  		System.out.println(d2.step);
 		Display.step = 3;
  		System.out.println(d1.step);
  		System.out.println(d2.step);
  	}
}

第六课,包和import的相关内容:

package clock;     		//一个包内的所有文件开头都是package 包的名字

//import display.Display;  	//引用一个其他包的类时,要import,格式为import 包名字.类名字
//也可以用import display.*;来引用这个包里面的所有东西,但是可能会出现重名冲突问题

//import display.led.Display是引用了包display里面的包led里面的东西

public class Clock {
 	private display.Display hour = new display.Display(24);
 	private display.Display minite = new display.Display(60);
  	//当没有import时,要引用其他包里的类时,每次引用都要如display.Display一样使用全名
 	public void start() {
  		while( true )
  		{
   			minite.increase();
   			if( minite.getValue() == 0)
   			{
    				hour.increase();
   			}
   			System.out.printf("%02d:%02d\n",hour.getValue(),minite.getValue());
  		}
	}
	
	public static void main(String[] args) {
		Clock clock = new Clock();
  		clock.start();
  	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值