搜索
首页JavaJava入门关于java中类和对象的详细介绍

关于java中类和对象的详细介绍

Nov 30, 2019 pm 02:36 PM
java对象

关于java中类和对象的详细介绍

类和对象

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

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

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

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

java相关视频教程:java学习视频

类的分类

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

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

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

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

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相关文章教程分享:java零基础入门

以上是关于java中类和对象的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)