当前位置: 首页 > news >正文

Java类和对象(一文读懂)

文章目录

  • 类、对象是什么?
  • 创建类
    • 构造器
  • 创建对象

类、对象是什么?

:类是一个模板,它描述一类对象的行为和状态。类可以看成是创建 Java 对象的模板。

对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

**方法:**方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过程,Java里的方法不能独立存在,所有的方法必须定义在类里。

类是一个模板,它包含一类对象的属性(状态)和行为,类的作用是用来描述对象。

对象是类的具象化,相当于在类的模板中描述具体的属性(状态),这些属性的集合就是一个对象,又因为具体属性的内容不同而分为不同的对象,但是它们属于同一类

方法,也叫函数,它是类或对象行为的抽象描述,一个单独的描述就是一个方法,方法不能单独存在,只能被定义在类里面。

如下图,以狗的种类来理解类和对象:

在这里插入图片描述

创建类

public class Dog {//类的状态String breed;int size;String colour;int age;	//类的方法void eat() {}void run() {}void sleep(){}void name(){}
}

上面是一个简单的类,它分别定义了4个自己的属性和方法,用来描述对象的状态和行为。

构造器

  • 每个类都有构造器。如果没有显式地为类定义构造器,Java 编译器将会为该类提供一个默认构造器。
  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须调用的,构造器有以下两个特点
  1. 和类的名字相同
  2. 没有返回类型,也不能写void

一个类在创建时必须有至少一个构造器,也叫构造方法,它必须与类同名,一个类可以有多个构造器。

public class Puppy{public Puppy(){}public Puppy(String name){// 这个构造器仅有一个参数:name}
}

创建对象

对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:

声明:声明一个对象,包括对象名称和对象类型。

实例化:使用关键字 new 来创建一个对象。

初始化:使用 new 创建对象时,会调用构造方法初始化对象。

Java创建对象需要进行声明,也就是先创建一个类,然后进行实例化,因为类是抽象的,需要实例化为对象,最后进行初始化,如果不进行初始化,对象输出的值会是默认值,在初始化时需要用到构造器(构造方法)。

以下是一个创建对象的过程:

public class Puppy{public Puppy(String name){//这个构造器仅有一个参数:nameSystem.out.println("小狗的名字是 : " + name ); }public static void main(String[] args){// 下面的语句将创建一个Puppy对象Puppy myPuppy = new Puppy( "tommy" );}
}

这段代码先创建了一个类,然后引用了一个类构造器定义了一个参数,接着对该参数进行输出。然后他用new创建了一个puppy对象,名字叫myPuppy,myPuppy前面的Puppy实际上是类名,并不是构造器(由于构造器和类名是相同的,对此不要混淆),使用new关键字的过程,本质上就是在调用构造器

http://www.lryc.cn/news/120345.html

相关文章:

  • 用友移动管理系统 任意文件上传漏洞复现(HW0day)
  • 启动springboot,出现Unable to start embedded Tomcat
  • 加密和安全
  • Maven基础总结
  • Java 编程实战:如何用 Java 编写一个简单而强大的 Tomcat
  • 【JavaSE】数组的定义与使用
  • 银河麒麟安装php7.1.33
  • Kubernetes集群部署上篇(安装部署,但是集群网络未部署)
  • 跨境电商中的安全挑战与隐擎Fox指纹浏览器的应用
  • 10. Docker Swarm(一)
  • 【MySQL】InnoDB存储引擎详解
  • 组合求和-矩阵连乘所有加括号方式_2023_08_12
  • 《3D 数学基础》12 几何图元
  • 【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
  • 致谢丨感谢有你,JumpServer开源项目九周年致谢名单
  • 使用 Python 和 Flask 构建简单的 Restful API 第 1 部分
  • 【深度学习所有损失函数】在 NumPy、TensorFlow 和 PyTorch 中实现(2/2)
  • Hazel 引擎学习笔记
  • Linux系统下Redis3.2集群
  • Android图形-合成与显示-SurfaceTestDemo
  • 高压放大器怎么设计(高压放大器设计方案)
  • SpringBoot yml配置注入
  • 中科亿海微乘法器(LPMMULT)
  • Redis_持久化(AOF、RDB)
  • 开源数据库Mysql_DBA运维实战 (部署服务篇)
  • 【Java学习】System.Console使用
  • 从零学算法154
  • 95 | Python 设计模式 —— 策略模式
  • 【BASH】回顾与知识点梳理(十九)
  • Selenium之css怎么实现元素定位?