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)