1、基本概念
(1)对象是靠类的模型塑造出来的。对象是已知的事物(实例变量),对象会执行动作(方法)
实例变量代表对象的状态(数据)
简单说,对象就是包括方法和实例变量
(2)类和对象的关系:我认为,类就像是一个基本框架,在这个框架中不断充实具体的内容就会形成形色各异不同的对象,对象能够调用类中的方法和给类的变量赋值
*(3)类的种类:
- 普通类:要被操作于对象的类,也就是说是我认为的框架。它没有main(),再这其中构建所需要的实例变量,定义方法名及其方法语句
public class SimpleNormalClass {
int size;//定义实例变量大小
String breed;//定义实例变量种类
String name;//定义实例变量姓名
void bark(){
System.out.println("Ruff!Ruff!");
}//定义了一个方法bark()
}
- 测试类:带有main(),对实例变量进行赋值,建立对象并调用方法
public class SimpleTestClass {
public static void main(String[]args){
SimpleNormalClass s=new SimpleNormalClass();//定义一个对象名为s,这个对象的建立必须与普通类的名字相同
s.size=40;//为实例变量size赋值
s.breed="拉布拉多";//为实例变量breed赋值
s.name="钢镚";//为实例变量name赋值
s.bark();//调用这个方法
}
}
*main()的两种用途:用于测试类中;启动Java应用程序 *
任何变量只要加上public、static、final,基本上都会变成全局变量取用的常数
2、一个猜数字的经典谜题的理解
public class Guessgame {
Playergame p1;
Playergame p2;
Playergame p3;
public void startgame(){
p1=new Playergame();
p2=new Playergame();
p3=new Playergame();//定义了三个对象
int guessp1=0;
int guessp2=0;
int guessp3 = 0;//定义了三个变量来保存是否猜中,如果不将初始化设为0会出现错误
boolean p1isRight=false;
boolean p2isRight=false;
boolean p3isRight=false;//定义了三个布尔型变量保存猜测的数字
int targetNumber=(int)(Math.random()*10);//定义了一个变量并将介于0-1之间乘10的任意一个数字赋予给该变量
while(true){
System.out.println("谜底是"+targetNumber);
p1.guess();
p2.guess();
p3.guess();//三个实例调用guess方法,输出猜测的数据
guessp1=p1.number;
System.out.println("第一次猜测的数据是"+guessp1);
guessp2=p2.number;
System.out.println("第二次猜测的数据是"+guessp2);
guessp2=p2.number;
System.out.println("第三次猜测的数据是"+guessp3);
if(guessp1==targetNumber){
p1isRight=true;//如果第一次猜测的数据就等于设定的数据,那么p1就是正确的,true的时候应该进入while
}
if(guessp2==targetNumber){
p2isRight=true;
}
if(guessp3==targetNumber){
p3isRight=true;
}
if(p1isRight||p2isRight||p3isRight){
System.out.println("已经猜对了");
System.out.println("已经找到设定数字了吗?"+p1isRight);
System.out.println("已经找到设定数字了吗?"+p2isRight);
System.out.println("已经找到设定数字了吗?"+p3isRight);
break;//游戏结束,终止循环
}else{
System.out.println("再来一次");//只有三次机会,所以可能会出现猜不对的情况
}
}
}
}
public class Playergame {
int number=0;
public void guess(){
number=(int)(Math.random()*10);
System.out.println("我要猜的数字是"+number);
}
}
public class Testgame {
public static void main(String[]args){
Guessgame game=new Guessgame();
game.startgame();
}
}