• Java基础9-java的类、对象和方法


    一、什么是类、对象和方法?

    1.类

    类用官方解释为:类是一个模板,它描述一类对象的行为和状态。类本身就是一种抽象的概念(以后我们还会介绍抽象类)。

    举个例子:DOTA中有许多英雄。这些英雄(无论是敏捷还是力量型,无论是天辉还是夜魇)都可以统称为DOTA英雄,DOTA英雄就是一个大类。当然,我们还可以继续划分,比如力量型是一类,敏捷型是一类。天辉是一类,夜魇是一类。

    2.类的属性或状态

    通过上边的例子,我们发现英雄都有名字、血量、魔法值、技能个数、移动速度等等。这些就是我们这一类的属性或状态。当然,力量型或敏捷型英雄可能有不同的属性,这就涉及到了继承,比如天辉力量型英雄有天辉英雄的属性,而无论天辉还是夜魇都有DOTA英雄的属性,具体在以后再细说。

    //创建了一个公共类,类名叫DOTAHero
    //类的声明格式
    /*
    public class 类名{}
    class 类名{}
    */
    public class DOTAHero{
        //DOTAHero有姓名、血量、技能个数、移动速度等这些属性
    //属性定义格式:数据类型 属性名
    //数据类型可以是基本数据类型也可以是引用数据类型,String就是引用数据类型
    String name; float HP; int skill; int moveSpeed; }

    3.对象

    对象是类的一个实例,例如

    我们划分了DOTA英雄这个类,那么我们就可以创造一个实实在在的英雄出来,比如我们创建一个英雄叫剑圣,剑圣这个英雄就是DOTA英雄这个类的一个实例化对象。

    创建好剑圣这个英雄后我们就可以给他设置名字、血量等属性,叫做初始化,如果我们不设置,那么他的值默认为0或空。

    public class DOTAHero {
    String name;
    int skill;
    float HP;
    int moveSpeed;
    public static void main(String[] args) { //对象的创建用new关键字 //格式: 类名 + 对象名 = new 类名(); DOTAHero Hero=new DOTAHero(); //我们给创建的这个英雄起了个名字叫剑圣 Hero.name="剑圣"; //剑圣的血量是600,技能是4个,移动速度是110; Hero.HP=600; Hero.skill=4; Hero.moveSpeed=110; //如果我们不设置这些具体的值,那么这些属性的默认值为0或null System.out.println("英雄名:"+Hero.name+",血量:"+Hero.HP+",技能个数:"+Hero.skill); } }

    那么JVM是怎么来给这个执行的呢?

    4.方法

    方法就是对象可以执行的动作,它是为了执行一个功能而编写语句的集合。

    比如:我们创建的这个剑圣可以攻击,可以释放技能,可以升级,可以买装备,这些就叫做方法。

    public class DOTAHero {
    String name;
    int skill;
    float HP;
    int moveSpeed;
        public static void main(String[] args) {
            DOTAHero Hero=new DOTAHero();
            Hero.name="剑圣";
            Hero.HP=600;
        }
    //这就是声明了一个攻击的方法
    /*
    方法的声明格式:
    public static 返回值类型 方法名称(参数列表){
        程序语句;
        [return[返回值];]
    }
    返回值类型必须相同
    如果没有返回值声明时用void
    */
    public static void attack() {
    //这就是一个无返回值,无参数的方法
        System.out.println("普通攻击");
         }
    }

    5.方法的调用

    方法可以在主方法中调用

    public class DOTAHero {
    String name;
    int skill;
    float HP;
    int moveSpeed;
        public static void main(String[] args) {
            DOTAHero Hero=new DOTAHero();
            Hero.name="剑圣";
            Hero.HP=600;
    //调用attack方法
            attack();
        }
    public static void attack() {
        System.out.println("攻击");
    }
    }

     

  • 相关阅读:
    【pytest学习10】fixture参数化,fixture(params=data)装饰器的data是函数返回值yield request.param ,将带到下面调用为参数的函数中
    Pipfile 文件转换利器——pipfile-freeze
    npm的lock
    调试wmi连接主机进行监控
    RPC电源监控总结
    HTTP协议三次握手过程
    linux常用命令集
    Gym
    Gym
    实验2.2
  • 原文地址:https://www.cnblogs.com/LuckyGJX/p/8729310.html
Copyright © 2020-2023  润新知