侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

Java  /  管理员 发布于 8年前   164

类和对象

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

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

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

注意:主函数是不需要创建对象的,可以直接调用(由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中类和对象的详细介绍的详细内容,更多请关注其它相关文章!


  • 上一条:
    java的类不要使用$的原因分析
    下一条:
    java面向对象多态的详细介绍
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在java中实现的脱敏工具类代码示例分享(0个评论)
    • zookeeper安装流程步骤(0个评论)
    • 在java中你背的“八股文”可能已经过时了(2个评论)
    • 在php8.0+版本中使用属性来增加值代码示例(3个评论)
    • java 正则表达式基础,实例学习资料收集大全 原创(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2018-03
    • 2020-03
    • 2023-05
    • 2023-11
    • 2024-01
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客