Java类和对象

在Java简介中就有介绍到,Java是一门面向对象的编程语言,在面向对象的编程语言中,肯定离不开对象这个概念,而对象则是类的实例,所以也肯定离不开类这个概念。简单的来说就是,在Java中一切皆为对象

文章目录

  • Java类和对象
    • Java中的对象
    • Java中的类
      • 类的成员
        • 属性/字段/成员变量
        • 方法
        • 静态变量和静态方法
      • 构造方法
      • 创建对象

Java中的对象

Java简介中提到,对象是指一个具体的事物,从一个简单的整数到火箭都可以是一个对象,且我们关注的是这个事物本身的一个状态和行为。例如:一只猫,它的状态有:颜色、品种、年龄、名字等,它的行为有:吃饭、睡觉、喵喵叫等。从程序的角度来看,它的状态就对应猫对象的属性,它的行为就对应猫这个对象的方法

Java中的类

之前有说过对象是类的实例化对象,那想要创建一个对象那肯定得要有类才能创建出这个类的实例化对象,以上面猫的例子来创建一个类。

public class Cat {String color;   //猫的颜色String breed;   //猫的品种int age;        //猫的年龄String name;    //猫的名字void eat(){//吃饭的行为}void sleep(){//睡觉的行为}void meow(){//喵喵叫的行为}
}

Java中,使用class这个关键字来定义一个类,定义出一个类之后就可以为这个类添加属性和方法。

类就相当于一个基础模板,对象是由模板产生的样本,它规定了一类对象所有的状态和行为,但这些状态和行为又根据对象的不同,而有不同的具体表现。例如:

【图片】

类的成员

属性/字段/成员变量

在类中,但是在方法外部定义的变量。这样的变量则可以称为"属性"或"字段"或"成员变量"(三种称呼都可以)。如Cat例子中的:color、breed、age、name,都是成员变量,用于描述一个类中包含哪些数据。

方法

在类中定义的方法,就是成员方法。如Cat例子中的eat()、sleep()、meow(),都是成员方法,用于描述一个对象的行为。

Cat类中的eat()方法就表示Cat这个对象具有"吃饭"的行为。

除此之外,在类中还有一种特殊的方法——构造方法,在实例化对象的时候会被自动调用的方法,方法名称和类名相同。

静态变量和静态方法

当类中的属性、方法使用static关键字修饰,就变成了静态变量、静态方法

修饰属性时,会将属性变成静态变量和类相关,和具体的实例化对象无关。即,同一个类的不同实例化对象都共享这个静态变量。

修饰方法时,会将方法变成静态方法,静态方法属于类,不属于类的实例化对象。即,无需创建对象都可访问。

构造方法

**构造方法:**构造方法是类的特殊方法,用于初始化类的一个新的对象

Java中,一个类可以有一个或者多个构造方法,若没有显示得定义构造方法,编译器会为该类提供一个默认的构造方法。在创建对象时,至少会调用一个构造方法。下面是构造方法的示例:

public class Cat {public Cat(){// 默认的无参构造方法}public Cat(String name){// 定义一个参数的构造方法}...
}

注意事项:

  • 构造方法的方法名称必须与类名相同
  • 构造方法可以有0个、1个或者n个参数
  • 构造方法没有任何返回值,即和返回值为void是不同的
  • 当你显示定义一个构造方法之后,编译器将不再默认添加无参构造方法

创建对象

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

  1. **声明:**声明一个对象,包括对象的名称和对象类型
  2. **实例化:**使用 new 关键字实例化一个对象
  3. **初始化:**根据 new 关键字实例化对象类型找到并调用对应的构造方法初始化对象
public class Cat {String color;   //猫的颜色String breed;   //猫的品种int age;        //猫的年龄String name;    //猫的名字void eat(){//吃饭的行为}void sleep(){//睡觉的行为}void meow(){//喵喵叫的行为}public Cat(){System.out.println("猫咪没有名字~");}public Cat(String name){System.out.println("猫咪的名字为:" + name);}public static void main(String[] args) {//使用 new 关键字创建对象Cat cat = new Cat();//1.Cat cat 声明一个对象,对象类型为Cat 名称为 cat//2.new 使用 new 关键字实例化一个对象//3.Cat() 根据传入的参数调用不同的构造方法初始化对象//此时输出的结果为:[猫咪没有名字~] 说明调用的是默认的无参构造Cat cat1 = new Cat("Tom");//前三步是相同的只是对象名称和调用的构造方法不同//此时输出的结果为:[猫咪的名字为:Tom] 说明调用的是定义的一个参数的构造方法}
}

【Java类和对象】相关推荐

  1. java类与对象实验_JAVA类与对象实验报告

    <JAVA类与对象实验报告>由会员分享,可在线阅读,更多相关<JAVA类与对象实验报告(6页珍藏版)>请在人人文库网上搜索. 1.面向对象程序设计实验报告实验三.类与对象(1) ...

  2. 杨校老师课堂之Java类与对象、封装、构造方法

    杨校老师课堂之Java类与对象.封装.构造方法 本篇文章内容如下: 面向对象 类与对象 三大特征--封装 构造方法 教学目标 能够理解面向对象的思想 能够明确类与对象关系 能够掌握类的定义格式 能够掌 ...

  3. 从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的?

    转载自   从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的? 先回顾一下Java程序执行的过程: Java程序执行时,第一步系统创建虚拟机进程,然后虚拟器用类加载器Class Loade ...

  4. java类和对象程序_Java类与对象程序设计基础

    Java类与对象程序设计基础 一.实验目的: 通过编制一个独立应用程序,使得学生掌握Java的系统所提供类的引用方法:通过编制一个完整的应用程序,使得学生对Java的应用程序的基本构成和基本算法熟练掌 ...

  5. java类与对象 演练 查找并修改姓名

    java类与对象 演练 查找并修改姓名 视频 https://www.ixigua.com/i6870489659168784903/ 思路 先定义一个类 类中有一个名字数组 提前给这个数组一些默认值 ...

  6. java类与对象 演练 客户姓名添加与查看

    java类与对象 演练 客户姓名添加与查看 视频 https://www.ixigua.com/6870483106223096327?logTag=_YUmIb2rn9-6JpoNipj9r 类的定 ...

  7. 最大公约数与最小公倍数( 初学Java 类与对象 )

    最大公约数与最小公倍数( java 类与对象的运用 ) Problem Description 输入两个正整数,求它们的最大公约数与最小公倍数. Input 输入两个正整数,两个整数之间用空格分开. ...

  8. Java类和对象(如何理解类和对象)

    Java类和对象 一.什么是对象? 1.什么是对象的属性? 2.什么是对象的行为 二.什么是类? 三. 类和对象的关系 四.类的定义 1.类的定义格式 2.类的定义示例 五.对象的使用 1.对象的创建 ...

  9. java类和对象在内存的表现形式

    Java内存分配与管理是Java的核心技术之一,不管学习任何一门语言,我们要知其然,知其所以然,本文主要分析下Java中类和对象在内存中的表现形式,方便我们对其有更深了解.一般Java在内存分配时会涉 ...

最新文章

  1. STARTTLS在电子邮件环境中的安全性分析
  2. 大一计算机课程excel,大学计算机EXCEL讲课ppt课件.ppt
  3. mysql显示bmp图片_BMP格式图像的显示
  4. how you can go to attend eap freely?
  5. Android多线程分析之三:Handler,Looper的实现
  6. 静态方法里面不能调用非静态属性
  7. [2018.07.21 T2] 离家出走
  8. win10主题美化(单)
  9. 代码:Java实现大数据经典案例WordCount
  10. 入侵修改服务器内容,怎么入侵服务器修改数据库
  11. html中文本框角度旋转,如何设置Word文本框旋转,任意角度调整文本框的方向?...
  12. 2021宇哥八套卷总结—第三套试卷分析
  13. uchome 标签讲解
  14. windows PC版微信双开
  15. 【怎么制作电子画册】云展网教程 | 如何设置默认模版
  16. Attention 二 创新篇
  17. vue3 +Ts后导包出现红色波浪线【vscode】
  18. python 离群值_如何从Numpy数组中删除离群值
  19. python监控文件或目录变化
  20. 数据湖与数据仓库的新未来:阿里提出湖仓一体架构

热门文章

  1. 移动游戏的新推广模式
  2. 全国所有城市人均GDP排名(包含县级市)
  3. 阿里云和腾讯云这两家对比哪个比较好一些?
  4. CUDA + Visual Studio 环境搭建
  5. 通俗易懂的大数据平台概念和架构
  6. Abelssoft SSD Fresh Plus 2021 v10.06.31890 固态硬盘性能优化工具中文版
  7. 单片机看门狗工作原理
  8. 自动控制原理笔记-根轨迹法
  9. 史上最全Maven教程(四)
  10. STM32开发入门及实战