Java语言学习:面向对象程序设计
Java的函数
public static void sum(int a,int b)
{
}
public static 返回类型 函数名(参数表)
{
}
调用函数
- 函数名(参数值)
- ()起到了表示函数调用的重要作用
- 即使没有参数也需要()
 Eclipse的按键:
 step into这个按钮可以让我们进入到函数里面去执行
 step return:直接从那个函数里出来,回到主函数调用这个函数的地方
 当函数期望的参数类型比调用函数时给的值的类型宽的时候,编译器会把类型转换好
 double高于int高于char:函数的形参是double的话,我们传char和int都没问题,但是要是形参类型是char,传了个int或double,就不行。
 用类制造对象
对象与类
- 对象是实体,需要被创建,可以为我们做事情
- 类是规范,根据类的定义来创建对象
  
对象=属性+服务
- 数据:属性或状态
- 操作:函数
- 把数据和对数据的操作放在一起–>封装
  
1. 创建对象
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) {
		VendingMachine vm=new VendingMachine();
		vm.showPrompt();
		vm.showBalance();
		vm.insertMoney(100);
		vm.getFood();
		vm.showBalance();
	}
}
//定义了一个类,叫vendingmachine,用这个类去new了一个对象叫vm,让vm做事情
//类就是一个类型,可以定义变量
//对象变量是对象的管理者
//new VendingMachine ();
//VendingMachine v=new VendingMachine();
//让对象做事
//让对象做事
.运算符
v.insertMoney(10);
v.getFood();
//注意!!这里有个小圆点!
vm.showBalance();
vm1.showBalance();
//同一个类的两个不同对象

 类是定义了这个类的所有对象长什么样,
 对象是这个类的具体实例。在类里面定义的
 成员变量,在每一个对象中存在,并在每一个对象中都是不一样的。
 我的理解:类,相当于一个物质的定义,类的成员变量就是这个类的属性值。每一个类都可以定义不同的对象,这些不同的对象都有类的属性,但是每个对象的属性值不一样。
1.1 成员变量
- 类定义了对象中所具有的变量,这些变量称作成员变量
- 每个对象都有自己的变量,和同一个类的其他对象是分开的
 函数与成员变量
- 在函数中可以直接写成员变量的名字来访问成员变量
vm.showbalance();
/*通过对象名 **.** 类名来调用函数时,
是建立了类与对象之间的联系,
编译器知道要去调函数的时候是
把哪个对象的值带进去。比如上面这个语句,编译器知道我们要show的是vm的balance*/
1.2 this变量:成员变量
this变量:是类的对象的变量或类的对象的管理者,它管着类的对象。this是成员函数的一个特殊的固有本地变量,它表达了这一次调用这个函数的那个变量。
我的理解:this是一个中介,我们运行不同的对象的时候,都会在this过渡一下,把我们对象的数据给this,this帮我们运行一下,然后把运行好的结果给我们,下一个对象来的时候,this之前的值就被现在对象的数据覆盖掉了。当然我们需要用小圆点来调用函数。this的操作是临时的。
这样想的话this还挺渣的。哈哈哈,开玩笑
public class VendingMachine {
	int price=80;
	int balance;
	int total;
	void setPrice(int price)
	{
		this.price=price;
		//这个语句让VendingMachine的price=setPrice的price
		//this.price的意思是访问VendingMachine的price
		//this.price是这个VendingMachine的price
		//第二个price是这个函数setprice内部的price
		//在这个成员函数里还可以调用VendingMachine的其他函数
		//可以用this点,也可以直接写名字调用
		//所以同行之间是平级的关系,可以自由调用
	}
}
在成员函数内部调用其他成员函数可以直接调用,可以用this。但没必要。但是!!在成员函数外部调用成员函数时要注明对象:vm.showBalance
1.3 本地变量
定义在函数内部的变量是本地变量
 定义在函数外部的变量是成员变量
 本地变量的生存期和作用域都是函数内部
 成员变量的生存期是对象的生存期,作用域是类内部的成员变量
 作用域在类的内部的意思是:这个类里面的成员函数可以使用这些变量,成员变量初始化的时候也可以使用这些变量
成员初始化
- 成员变量定义初始化
- 成员变量在定义的地方就可以给出初始值
- 没有给出初始值的成员变量会自动获得0值 
   - 对象变量的0值表示没有管理任何对象,也可以主动给null值
- 定义初始化可以调用函数,甚至可以试用已经定义的成员变量
 
学习Java的网站:
 java的官方网站
 java.sun.com
 Java的推动力
 jcp.org
 总结一下:1. 今天学了函数,函数里面没有新内容,就是把我们功能放到主函数外面去。
 2. 类和对象:类是定义;对象是物质。类是对对象的抽象,对象是类的具体化。对象分为数据和服务。
 3. 在成员函数内部调用其他成员函数可以直接调用,可以用this。但没必要。但是!!在成员函数外部调用成员函数时要注明对象:vm.showBalance
- 点赞
- 收藏
- 关注作者
 
            

 
           
评论(0)