Java类和对象
一、 Java是一门完全面向对象的编程语言。
那么在编程中面向对象的基础和核心就是类和对象。
面向对象的编程就是模拟现实生活,给现实生活的问题提供解决方法。
所谓对象,就是现实生活中的实体,对象与实体一一对应,也就是说现实世界中每一个具体的物体或具体的事物都是一个对象,它是一个具体的概念,具体指某一个物体。
所谓类,就是具备某些共同特征的实体的集合,它是一个抽象概念。
类和对象的关系:类是对象的集合,对象是类的实例化。
二、 现实生活中的对象:某一张桌子,某一个学生,某一张照片,某一台电脑
描述一个对象:特征、行为
某一台电脑:
特征:品牌、型号、价格、颜色、CPU、内存、主板、键盘...
用途:学习、上网、玩游戏、聊天、播放声音、播放视频...
某一个人:
特征:姓名(最重要的特征!!)、身高、体重、国籍、肤色、身份、民族、年龄、生日...
行为:吃、玩、学习、睡觉、走路、说话....
三、 现实生活中根据对象相似的特征和相似的行为进行分类。
在程序中就是根据在现实生活中对象的特征和行为定义的。
程序中的类由属性、方法组成。
类的基本格式
public class 类名 {
//属性的格式
public 数据类型 属性名;
//方法的格式
public 返回值类型 方法名(数据类型 参数名,...){
...
}
}
//属性的格式
public 数据类型 属性名;
//方法的格式
public 返回值类型 方法名(数据类型 参数名,...){
...
}
}
实例化对象和调用方法属性的格式
实例化对象的关键字:new
格式:
类名 对象名 = new 类名();
调用方法和属性的格式
对象名.方法名(参数值,...);
对象名.属性名
实例化对象的关键字:new
格式:
类名 对象名 = new 类名();
调用方法和属性的格式
对象名.方法名(参数值,...);
对象名.属性名
定义类,在类中定义主函数,在主函数中实例化对象调用方法和属性
Manager{
main(){
实例化对象
调用属性和方法
}
}
Manager{
main(){
实例化对象
调用属性和方法
}
}
四、 场景:张三在学习Java课程中,学完该课程后,张三的学分要增加3分。
1.找出场景中的对象以及对象的特征和行为:
张三
特征:学分、姓名
行为:学习(Java课程)
Java课程(是对象!!)
特征:名字、学分(不是对象!!)、课时
2.根据对象的特征和行为以及类的固定格式去定义类:
两个对象,需要抽象成两个类
张三 抽象成 学生Student类
Java课程 抽象成 课程Subject类
1.找出场景中的对象以及对象的特征和行为:
张三
特征:学分、姓名
行为:学习(Java课程)
Java课程(是对象!!)
特征:名字、学分(不是对象!!)、课时
2.根据对象的特征和行为以及类的固定格式去定义类:
两个对象,需要抽象成两个类
张三 抽象成 学生Student类
Java课程 抽象成 课程Subject类
程序如下:
“Student.java”
“Score.java”
“Manager.java”
新建.txt文档写程序,后缀名改成".java"
运行程序:Windows+R→cmd 命令提示符
五、 练习
回合制对战游戏:奥特曼和小怪兽进行PK,直到一方的血量为0时结束战斗,输出谁胜利了!
回合制对战游戏:奥特曼和小怪兽进行PK,直到一方的血量为0时结束战斗,输出谁胜利了!
对象:
奥特曼
特征:名字、血量
行为:PK
小怪兽
特征:
特征:
名字
、血量
行为:PK
奥特曼 抽象成 Ultraman类
小怪兽 抽象成 Monster类
先来个简单版的(无技能)
“Ultraman.java”
“Monster.java”
“Manager.java”
同样用命令提示符来运行
但这个是人为控制胜负的,接下来来一个有技能版的
“Ultraman.java”
“Mnoster.java”
“Skill.java”
“Manager.java”
运行结果
通过java.util.Random random = new java.util.Random();
int value = random.nextInt(100);//随机生成0~99的数据
随机使用技能。
六、 总结
1. 不要忘了每个类基本都会有名字属性 public String name;
2. 分清楚对象以及对象的属性,比如在攻击时是 u.pk(m);
m.blood-=10;