面相对象的成员介绍

2.面相对象的成员 -> 类:

a.类的定义:

  • 1.类是对公共特点的抽象,其中包含了很多成员,如属性(成员变量 )、方法、构造器等.要想很好的定义类,就必须要好好的了解这些类的成员
    在这里插入图片描述

b.访问修饰符

  • 控制属性的访问范围 有四种访问修饰符 public, proctected, 默认, private
  • 属性的定义类型可以为任意类型,包含基本类型或引用类型
  • 属性如果不赋值,有默认值,规则和数组一致。具体说: int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char, boolean false,String null

c.类用处:

  • 1.对类进行实例化就产生了对象
  • 2.创建对象 = 类的实例化 = 实例化类
    在这里插入图片描述

d.类成员介绍:

  • 1.类的常见的成员有:属性和行为
  • 2.类的其他成员:
    • 构造器
    • 代码快
    • 内部类
d1.类的成员->属性:
  • 1.属 性:对应类中的成员变量 或者叫:field;或者叫:域,字段
    在这里插入图片描述
d2.类的成员->方法:
  • 1.对应类中的成员方法 或者叫:函数;或者叫:method
    在这里插入图片描述

3.面相对象的成员 -> 对象:

对象哪来的??是对类实例化所产生的

a.对象的创建与使用:

在这里插入图片描述


b.代码举例:

  • 1.编码实现创建对象及属性的调用:
// Object01.java 
package com.jianqun.package01;
import java.util.function.IntBinaryOperator;
/*** @author jianqun* @email:1033586391@qq.com* @creat 2022-01-31-16:11*/
public class Object01 {public static void main(String[] args) {//实例化一只猫;即造出一只实实在在的猫来//把创建的第一支猫赋给cat1,就是这个猫的名字叫cat1Cat cat1 = new Cat();cat1.name = "小白";cat1.color = "白色";cat1.age = 3;//创建第二支猫Cat cat2 = new Cat();cat2.name = "小黑";cat2.color = "黑色";cat2.age = 30;System.out.println("第一支猫" + cat1.name + cat1.color);}
}class Cat{/*** 猫的属性*/String name;String color;int age;/*** 猫的行为*/
}
  • 2.对象创建说明: new Cat()代表的才是真正的对象,cat只是代表的对象名字,或者说叫对象的引用
//直接创建
Cat cat;//先声明对象cat
cat = new Cat();//再创建对象cat
//直接创建对象
Cat cat = new Cat();

c.类与对象的区别和联系

  • 1.通过上面的代码可以看出:类是抽象的,是代表一类事务,比如人类,猫类…是一种数据类型
  • 2.对象是具体的,实际的,代表一个具体事务,即是实例
  • 3.类是对象的模板,对象是类的一个个的个体,对应着实例
  • 4.如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰(非static类型的属性
    在这里插入图片描述

d.匿名对象介绍:

  • 1.匿名对象就是:我们创建的对象没有赋给一个变量名,而直接调用这个对象的方法。这样的对象叫做匿名对象,如:new Person().shout();
  • 2.匿名对象智能调用一次
  • 3.使用情况 :
    • 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象
    • 我们经常将匿名对象作为实参传递给一个方法调用
package com.jianqun.day08;
public class InstanceTest {public static void main(String[] args) {//创建Phone对象Phone phone = new Phone();System.out.println(phone);//对象调方法phone.sendEmail();phone.playGame();//匿名对象使用举例1:new Phone().price = 20000;new Phone().showPrice();//0.0new Phone().playGame();//打游戏.....//匿名对象使用举例2:PhoneMall phoneMall = new PhoneMall();phoneMall.show(new Phone());//发送邮件.....}
}class PhoneMall{public void show(Phone phone){phone.sendEmail();}
}class Phone{double price;//价格public void sendEmail(){System.out.println("发送邮件.....");}public void playGame(){System.out.println("打游戏.....");}public void showPrice(){System.out.println("手机价格::" + price);}
}

d.对象的内存解析:

d1.JVM内存结构简介:
  • 1.堆(Heap)
    • 此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存
    • 这一点在Java虚拟机规范中的描述是:所有的对象实例(Cat cat)以及数组都要在堆上分配
  • 2.栈(Stack)
    • 通常所说的栈(Stack)是指虚拟机栈
    • 虚拟机栈用于存储局部变量表、操作数栈等。
    • 局部变量表存放了编译期可知长度的各种基本数据类型(boolean、byte、char 、 short 、 int 、 float 、 long 、double)、对象引用(reference类型,它不等同于对象本身,是对象在堆内存的首地址), 方法执行完,自动释放。
  • 3.方法区(Method Area)
    • 方法区(Method Area)用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
      在这里插入图片描述
d2.案例1:分析对象创建过程:

在这里插入图片描述
在这里插入图片描述

d3.案例2:创建单个对象的内存解析:

以下分析忽略了main方法在栈中的存储,对对象中的属性做了进一步的分析

在这里插入图片描述
在这里插入图片描述

d4.案例3:一个类的多个对象的内存解析:
  • 1.如果我们创建了一个类的多个对象,则每个对象都独立的拥有一套属性(非static),也就是说,我们修改一个对象的属性a,不会影响另一个对象的属性a的值
    在这里插入图片描述
    在这里插入图片描述
  • 2.如下分析暂时忽略了jvm中的方法区
    在这里插入图片描述
d5.案例3:对象数组的内存解析:

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/414662.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP数据包——报文头部组成

TCP协议报头包括以下字段: 源端口和目标端口:分别是发送方和接收方的端口号,用于标识通信的应用程序。 序列号:用于标识数据流的序列号,保证数据包的顺序性。每一个报文都有一个序列号。 确认号:用于确认收到的数据包序列号,用于实现可靠传输。每发送一个数据包都需要收…

突破编程 C++ 设计模式(组合模式)详尽攻略

在软件开发中,设计模式为程序员提供了解决特定问题的最佳实践。设计模式不仅提高了代码的可复用性和可维护性,还能帮助团队更好地进行协作。在这篇文章中,我们将深入探讨组合模式——一种结构型设计模式。 组合模式允许你将对象组合成树形结…

开放式耳机对耳朵的伤害大吗?四款平价好用的蓝牙耳机推荐

开放式耳机对耳朵伤害不大。因为其设计特点使得声音可以在一定程度上与外界环境相通,减少了对耳膜的直接压力和封闭环境带来的影响,相比封闭式耳机,更不容易导致耳部压力失衡和细菌滋生等问题。 以下是比较好的几款产品,可供借鉴&…

线上报名链接怎么做_零基础小白也能做

在这个日新月异的数字时代,每一次点击都可能是通往新世界的钥匙。今天,我们诚挚地向您发出邀请,通过这独一无二的线上报名链接,不仅简化繁琐的报名流程,更让您轻松跨越现实的界限,踏入一场精心策划的盛宴或…

CSS3 文本效果(text-shadow,box-shadow,white-space等)文本溢出隐藏并且显示省略号

一 text-shadow text-shadow 属性是 CSS3 中用于为文本添加阴影效果的工具。它可以增强文本的可读性和视觉吸引力,提供丰富的视觉效果 1 语法 text-shadow: offset-x offset-y blur-radius color;offset-x:阴影相对于文本的水平偏移量。可以是正值&am…

自建 git 服务器

所有老板(至少 99%)都一样,想花一分钱办两分钱的事,想招十块钱的人干二十块钱的事……我表示理解(A Pei ~~ 既想马儿跑得快,又想马儿不吃草) 在老板眼中,我恰好是那个性价比最高的人…

MFC工控项目实例之八选择下拉菜单添加打钩图标

承接专栏《MFC工控项目实例之七点击下拉菜单弹出对话框》 具体添加菜单栏参考我的博客文章《MFC工控项目实例之七点击下拉菜单弹出对话框》 这里只给出相关代码 1、在SEAL_PRESSUREDlg.h文件中添加代码 class CSEAL_PRESSUREDlg : public CDialog { // Construction public:..…

5年数据观巨变,这家公司如何在AI和大模型数据赛道遥遥领先?

过去5年,整个社会对于数据的观念和认知,发生了天翻地覆的改变。这要归功于OpenAI与预训练大语言模型(以下简称大模型)的问世以及横扫全球的ChatGPT。从2020年1月OpenAI发表《自然语言模型的“摩尔定律”(Scaling Law f…

算法训练营——day1数组二分查找

数组是存放在连续空间上的相同数据类型的集合。 注意:下标从0开始;内存空间连续。 正因为数组的内存地址空间连续,所以在删除、添加元素的时候需要移动其他元素。 数组的元素不能删除,只能覆盖! 二维数组特殊 在C中&…

测试使用开源异构迁移工具dbswitch

dbswitch: 异构数据库迁移同步(搬家)工具 (base) rootnode13:~# cat /etc/issue Ubuntu 20.04.5 LTS \n \l (base) rootnode13:~# curl -k -sSL https://gitee.com/dromara/dbswitch/attach_files/1878800/download > /tmp/dbswitch_install.sh && bash /tmp/dbsw…

佰朔资本:社融是什么?社融增加是利好还是利空

社融即全社会融资规划,是指实体经济从金融体系取得的资金。包括人民币信贷、债券发行、股票发行、非金融企业债券、政府债券等各种融资办法,也称为社会融资量。 社会融资规划存量是指一守时期末(月末、季末或年底)实体经济从金融…

9月新机首发:骁龙芯片+超大电池,游戏玩家的终极选择

随着秋风送爽的9月到来,智能手机和电子设备市场也迎来了新一轮的热潮。8月份的新机发布热潮刚刚退去,9月份的新机已经迫不及待地揭开了神秘的面纱。在众多备受期待的产品中,红魔品牌抢先官宣,两款全新的游戏平板将在9月5日正式亮相…

C++国密SM2算法加解密的使用

目录 效果 在线校验 代码实现参考 项目 下载 效果 加密字符串:lxw 123abcD 2024-09-01:12:00加密后信息:042E82EE8ACE2BD56FA71DC6A0C34190627AA365F8EEE6261903BEE327A85EB5E1D6E78F2D79AD6F6DC9E45C0829625DC3165BB78BD897F99044A640F930653747939CF9D5A10C8216F945A559…

【SQL】Delete使用

目录 语法 需求 示例 分析 代码 语法 DELETE删除表中所需内容 删除表中满足特点条件的行:DELETE FROM 表名 WHERE 条件; 删除表中所有行:DELETE FROM 表名; WHERE子句 WHERE子句用于指定从表中选取记录的条件。允许筛选数据,只返回满足…

filezilla使用教程(window下filezilla使用教程)

filezilla使用教程(window下filezilla使用教程) 一、安装与配置 首先,你需要从FileZilla的官方网站下载并安装适合你操作系统的版本。安装完成后,打开FileZilla,你将看到一个简洁的用户界面。 在FileZilla中&#x…

「SpEL Validator」使用指南(一套无敌的参数校验组件)

前言 这是一套全新的参数校验组件,并非造轮子。 看完本文你可能会觉得用不上或不屑于使用,但这玩意确实有应用场景,你不妨稍微留意一下,日后你总会发现有用得上的时候。 此乃系列文章,当前为第②篇,其他…

用Python实现时间序列模型实战——Day 8: 季节性ARIMA模型 (SARIMA)

一、学习内容 1. SARIMA 模型的定义与公式推导 SARIMA 模型: SARIMA 模型是扩展了 ARIMA 模型的一种方法,全称为季节性自回归积分滑动平均模型(Seasonal AutoRegressive Integrated Moving Average)。它结合了 ARIMA 模型的非季…

sed awk 第二版学习(二)—— 正则表达式语法

目录 一、表达式 二、成行的字符 1. 反斜杠 2. 通配符 3. 编写正则表达式 4. 字符类 (1)字符的范围 (2)排除字符类 (3)POSIX 字符类补充 5. 重复出现的字符 6. 匹配单词 7. gres 替换脚本 8. …

超越卷积滤波器,HyCoT利用Transformer捕捉高光谱图像的全局依赖性 !

近年来,基于学习的高光谱图像(HSI)压缩模型的开发引起了大量关注。现有的模型主要使用卷积滤波器,仅捕捉局部依赖性。 此外,它们通常会带来高昂的训练成本,并具有较大的计算复杂性。 为了解决这些问题&…

upload-labs通关攻略

Pass-1 这里上传php文件说不允许上传 然后咱们开启抓包将png文件改为php文件 放包回去成功上传 Pass-2 进来查看提示说对mime进行检查 抓包把这里改为image/jpg; 放包回去就上传成功了 Pass-3 这里上传php文件它说不允许上传这些后缀的文件 那咱们就可以改它的后缀名来绕过…