Java 类与对象
1.类与对象概念类(class)是具有相同属性、相同行为的一类事物的抽象模板。例如人类、狗类、枪类对象(object)是根据类模板创建出来的具体、真实存在的个体是类的实例。例如具体的某一个人小谢、具体的某一条狗藏獒、具体的某一支枪AK47简单来说类是对象的模板对象是类的实例。先有类才有对象。2.类的定义1)分析类的数据、行为(功能)有哪些一个类中包括属性与方法类的数据就是属性(一般是名词描述 “是什么、有什么”而类的行为或功能就是方法(一般是动词描述 “能干什么、做什么操作”)下面以学生类Student举例学生的数据比如姓名 name年龄 age学号 id班级 className学生的行为比如学习 study () — 学习行为吃饭 eat () — 吃饭行为考试 exam () — 考试行为2)定义一个类结构public class 类名{ }3)在类中定义属性和方法 直接写在类中·属性 格式 数据类型 变量名;·方法 格式public void方法名() { //功能(行为)的逻辑代码}package xzn0705; import java.util.Random; public class Student { //属性 String name; int id; int class_num; String gender; double credit; //方法 public void showInfo() { System.out.println(学生个人信息栏); System.out.println(姓名 name); System.out.println(学号 id); System.out.println(班级 class_num); System.out.println(性别 gender); } public void academic_level() { Random rand new Random(); int n rand.nextInt(1, 101); if (n 60) { credit 3; System.out.println(name考试通过分数为n学分增加3分当前总学分为credit); }else{ System.out.println(name考试未通过分数为n学分未增加当前总学分为credit); } } }3.对象的创建放在程序入口中1创建对象的格式类名 对象名 new 类名();2对象调用属性赋值格式 对象变量名.属性变量名_____3对象调用方法格式对象变量名.方法名();static void main() { //创建对象 Student stu_1 new Student(); Student stu_2 new Student(); //对象调用属性赋值 stu_1.name 小王; stu_1.id 17; stu_1.class_num 10; stu_1.gender 男; //对象调用方法 stu_1.showInfo(); stu_1.academic_level(); stu_2.name 小谢; stu_2.id 22; stu_2.class_num 12; stu_2.gender 男; stu_2.showInfo(); stu_2.academic_level(); }下面我将展示自己创建的类源于和平精英游戏中部分武器装备package xzn0705; public class Weapon { String gunName; String singleShotDamage; String recoil; String fireMode; double ammo; String disadvantage; String unit mm; public void showInfo(){ System.out.println(枪械名称gunName); System.out.println(威力singleShotDamage); System.out.println(后坐力recoil); System.out.println(射击模式fireMode); System.out.println(弹药类型ammounit); System.out.println(缺陷disadvantage); System.out.println(); } static void main() { Weapon wea_1 new Weapon(); Weapon wea_2 new Weapon(); Weapon wea_3 new Weapon(); Weapon wea_4 new Weapon(); Weapon wea_5 new Weapon(); Weapon wea_6 new Weapon(); Weapon wea_7 new Weapon(); wea_1.gunName M416突击步枪; wea_1.singleShotDamage 适中; wea_1.recoil 小; wea_1.fireMode 单发/全自动; wea_1.ammo 5.56; wea_1.disadvantage 过于依赖配件; wea_1.showInfo(); wea_2.gunName AKM突击步枪; wea_2.singleShotDamage 大; wea_2.recoil 很大; wea_2.fireMode 单发/全自动; wea_2.ammo 7.62; wea_2.disadvantage 新手难操控; wea_2.showInfo(); wea_3.gunName SCAR-L突击步枪; wea_3.singleShotDamage 适中; wea_3.recoil 低; wea_3.fireMode 单发/全自动; wea_3.ammo 5.56; wea_3.disadvantage 射速慢; wea_3.showInfo(); wea_4.gunName SKS射手步枪; wea_4.singleShotDamage 较大; wea_4.recoil 大; wea_4.fireMode 半自动; wea_4.ammo 7.62; wea_4.disadvantage 连续快速射击时难以操控; wea_4.showInfo(); wea_5.gunName Mini14射手步枪; wea_5.singleShotDamage 适中; wea_5.recoil 适中; wea_5.fireMode 半自动; wea_5.ammo 5.56; wea_5.disadvantage 枪声大易暴露位置; wea_5.showInfo(); wea_6.gunName AA12-G霰弹枪; wea_6.singleShotDamage 较小; wea_6.recoil 大; wea_6.fireMode 全自动; wea_6.ammo 18.5; wea_6.disadvantage 有效射程短、换弹速度极慢; wea_6.showInfo(); wea_7.gunName S12K霰弹枪; wea_7.singleShotDamage 较小; wea_7.recoil 大; wea_7.fireMode 半自动; wea_7.ammo 18.5; wea_7.disadvantage 连发时上抬严重; wea_7.showInfo(); } }运行结果枪械名称M416突击步枪 威力适中 后坐力小 射击模式单发/全自动 弹药类型5.56mm 缺陷过于依赖配件 枪械名称AKM突击步枪 威力大 后坐力很大 射击模式单发/全自动 弹药类型7.62mm 缺陷新手难操控 枪械名称SCAR-L突击步枪 威力适中 后坐力低 射击模式单发/全自动 弹药类型5.56mm 缺陷射速慢 枪械名称SKS射手步枪 威力较大 后坐力大 射击模式半自动 弹药类型7.62mm 缺陷连续快速射击时难以操控 枪械名称Mini14射手步枪 威力适中 后坐力适中 射击模式半自动 弹药类型5.56mm 缺陷枪声大易暴露位置 枪械名称AA12-G霰弹枪 威力较小 后坐力大 射击模式全自动 弹药类型18.5mm 缺陷有效射程短、换弹速度极慢 枪械名称S12K霰弹枪 威力较小 后坐力大 射击模式半自动 弹药类型18.5mm 缺陷连发时上抬严重

相关新闻