首先什么是对象呢?可谓是万物皆对象,对象是客观存在的事物,可以说任何客观存在的都是可以成为对象,一台电脑,一直钢笔,一个人,一辆轿车等等,都是可以成为对象。
那么什么是类呢?类是对象的模子,具有相同属性和方法的一组对象的集合,类是不存在的,是用来描述对象信息。在计算机的世界里面,计算机关注的事数据信息,我们描述数据信息的时候一定要要描述数据类型,对象就是具体的数据信息,类是信息的数据类型。
对象的属性和方法分别表示什么呢?属性是表示对象有什么,方法是表示对象能干什么。
在类中定义的变量是成员变量,成员变量又称为静态变量和实例变量,静态变量是用static修饰的变量,实例变量也成为是对象变量,类变量,通过对象的引用来访问实例变量。
在方法中定义的变量是局部变量,他们只存在在{}之间,无法再{之外进行一些操作,比如读取数据,赋值等等。
//2019,10月20日。今天看了一个更加通俗的理解:
简单说下类和对象。
以 LOL 为例。
首先,比如 lol 中的英雄,它就是一个类。因为所有的英雄都有对应的属性。例如:
public class Hero { String name; //名字 int attackDamage; //物理攻击 int abilityPower; //法术强度 int armor; //护甲 int magicResistance; //魔抗 float attackSpeed; //攻击速度 int cooldownReduction; //冷却缩减 int criticalStrike; //暴击率 int moveSpeed; //移动速度 int hp; //血量 int mp; //蓝量 }
除了属性,英雄还有行为。比如拆塔,坑队友,K头,跳舞等。
public class Hero { public void DestroyTower(){ System.out.println("正在拆塔"); } public void Keng(){ System.out.println("坑了一下队友"); } public void Kb(){ System.out.println("抢到了一个人头"); } public void Dance(){ System.out.println("正在跳舞"); } }
对象就是指具体的英雄,比如德玛(garen)。就可以在 main 方法中 new 一个对象。
public static void main(String[] args) { Hero garen = new Hero(); garen.name = "盖伦"; garen.attackDamage = 71; garen.abilityPower = 0; garen.armor = 36; garen.magicResistance = 32; garen.attackSpeed = 0.69f; garen.cooldownReduction = 0; garen.criticalStrike = 0; garen.moveSpeed = 350; garen.hp = 600; garen.mp = 0; }
成员变量和局部变量有什么区别?
成员变量和局部变量的区别:
1.位置不一样:
成员变量:类中,方法外
局部变量:方法中,或者方法声明上(形参)
2.在内存中的位置不一样
成员变量:堆内存
局部变量:栈内存
3.生命周期不一样:
成员变量:随着对象的 创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
4.初始化值得问题
成员变量:有默认值。String null, dobule 0.0 int 0
局部变量: 没有默认值,必须先定义,再赋值,然后才可以使用
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114839.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...