温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中类和对象的关系

发布时间:2020-06-21 21:00:32 来源:亿速云 阅读:122 作者:鸽子 栏目:编程语言

类和对象

对象我们知道,代表现实世界中可以明确标识的一个实体(万物皆对象),每个对象都有自己独特的标识、状态和行为。

类是具有相似特征和行为的事物的统称。使用一个通用类来定义同一类型的对象。 类是一个模板 、蓝本或者说是合约 , 用来定义对象的数据域是什么以及方法是做什么的 。

一个对象是类的一个实例,可以从一个类中创建多个实例 。

注意:主函数是不需要创建对象的,可以直接调用(由JVM)。

类的分类

主类:主要负责程序的运行

实体类:主要负责描述事物

工具类:一般不会创建对象,直接通过类调用函数(静态)

下面几个就是我们常用的比较熟悉的几个工具类:

Math.abs() Math.random()
Arrays.toString();
System.out.println();

对象与类的关系:

类是对象的定义, 对象从类创建。例如狗是一个类,对所有狗的一个统称,而哈士奇就是狗这个类的一个实体对象。

如何去定义一个类

主要定义其特征和行为

特征:变量

行为:函数

定义狗这个类 ,特征有姓名、性别、年龄、身高、体重和毛色,定义6个成员变量存放,行为有吃和睡,定义两个成员函数来实现。

class Dog{
    //直接定义在类中的变量 成员变量
    姓名 String name;
    性别 String sex;
    年龄 int age;
    身高 double heigth;
    体重 double weight;
    毛色 String color;
    
    //成员函数(非static函数)
    吃   public void eat(){... return;}
    睡   public void sleep(){... return;}
}

创建具体对象:

public class Mian{
    public static void main(String[] args) {
        Dog Huskies=new Dog();
    }
}

对象创建的流程

1、主函数先进栈

2、执行语句的右边new Dog(),在堆内存中开辟一个空间,随机分配地址

3、在对象空间中创建成员变量的空间,并对成员变量进行默认初始化,创建成员函数(并不在对象空间里,也不再栈里,在栈中调用)

4、在函数栈中创建局部变量,存放的是该对象在堆内存中的地址

局部变量和成员变量的区别

区别一:定义的位置不同

成员变量定义在类中,局部变量定义在方法中或者语句里面

区别二:在内存中的位置不同

成员变量存储在堆内存的对象中,局部变量存储在栈内存的方法中

区别三:声明周期不同

成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失,局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

区别四:初始化不同

成员变量因为在堆内存中,有默认的初始化值,局部变量没有默认的初始化值,必须手动的给其赋值才可以使用

以上就是关于java中类和对象的详细介绍的详细内容,更多请关注亿速云其它相关文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI