1.1用类制造对象
package shapes;
public class MyPic {
public static void main(String[] args)
{
Picture pic = new Picture(520,400);//用picture这个类创建了一个名为pic的对象
Circle c1 = new Circle(320,40,80);//用circle这个类创建了一个名为c1的对象
Rectangle r1 = new Rectangle(100, 100, 100, 100);
Triangle t1 = new Triangle(100, 100, 200, 100, 150, 50);
Line l1 = new Line(0,205,400,205);
Circle c2 = new Circle(200,200,50);
pic.add(c1);//将c1加入pic中
pic.add(r1);//将r1加入pic中
pic.add(t1);
pic.add(l1);
pic.add(c2);
pic.draw();
}
}
1.2定义类(自动售货机)
package vendingmachine;
public class VedingMachine {
//定义了有三个属性(例如:price),四个动作(例如:showprompt)
int price=80;//物品价格
int balance;
int total;//每天卖出的总额
void showPrompt()//提示信息
{
System.out.println("Welcome");
}
void insertMoney(int amount)//投入钱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) {
//定义了VedingMachine这个类,VedingMachine此刻和int一样,是一个类
//用VedingMachine 创建一个名为vm的对象
VedingMachine vm = new VedingMachine();
//用vm做我们之前设计出来的动作:showPrompt、showBalance、insertMoney等等
vm.showPrompt();
vm.showBalance();
vm.insertMoney(100);
vm.getFood();
vm.showBalance();
//用VedingMachine 创建一个名为vm1的对象
VedingMachine vm1 = new VedingMachine();
vm1.insertMoney(200);
vm1.showBalance();
}
}
结果:
Welcome
0
Here you are.
20
200
1.3成员变量与成员函数
- 成员变量
成员变量
int price=80;//物品价格
int balance;
int total;//每天卖出的总额
this.price 指VedingMachine内部定义的price(80),price指 int price
void setPrice(int price)
{
this.price = price;
//this.price 指VedingMachine内部定义的price(80),price指 int price
}
VedingMachine vm = new VedingMachine();
//用vm做我们之前设计出来的动作:showPrompt、showBalance、insertMoney等等
vm.showPrompt();
vm.setPrice(200);//输入200,将价格price赋值为为200
- 成员函数
如果想在insertMomeny里用showBalance,不用" this. ",因为这是在成员函数内部调用另一个成员函数,而在外部调用,必须通过对象去调用。
void insertMoney(int amount)//投入钱amount
{
balance = balance + amount;
showBalance();//不需要this
}
vm.showPrompt();//通过对象去调用
1.4对象初始化
本地变量必须给储值才能使用
成员变量不给初值也能正常使用,会默认给零值;也可以用构造函数赋值。
构造函数有两种形式,一种带参数,另一种不带参数。
调用的时候会根据是否给出参数来进行调用,即函数重载