IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 类的认识及使用 -> 正文阅读

[Java知识库]类的认识及使用

类的使用

引用

在这里插入图片描述

C++兼容C结构体的语法
C++中的struct已经不仅仅是结构体,struct已经同时升级成类。

类的定义

class className
{
 // 类体:由成员函数和成员变量组成
 
}; // 一定要注意后面的分号

class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。
类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类的方法或者成员函数。
struct可以定义类,但在C++中更喜欢用class来代替

C语言面向过程——数据和方法是分离的
C++面向对象——数据和方法是封装在一起的

在这里插入图片描述

struct和class的区别

在这里插入图片描述
总结:

  • C++实现封装的方式:用类将对象的属性与方法结合在一块,让对象更加完善,通过访问权限选择性的将其接口提供给外部的用户使用。
  • 访问限定符:public(公有)、protected(保护)、private(私有)
  • public修饰的成员在类外可以直接被访问
  • protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
  • 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
  • class的默认访问权限为private,struct为public(因为struct要兼容C)

上方代码改正:

class stack
{
public:   //公有(可在类外面直接访问)
	void StackInit()
	{

	}
	void StackPush(int x)
	{

	}
private:    //私有(不可在类外面直接访问)
	int* a;
	int top;
	int capacity;
};

int main()
{
	stack st;
	st.StackInit();
	st.StackPush(1);
	return 0;
}

封装

在这里插入图片描述
总结:

  • 类的定义和设计就体现了封装
  • 面向对象的三大特性:封装继承多态(最为出名的)、抽象、反射(Java)。
  • 封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。
  • 封装本质是一种管理。

类的作用域

在这里插入图片描述

改正:将Queue.cpp文件

#define _CRT_SECURE_NO_WARNINGS 1
#include"Queue.h"
void Queue::QueueInit()// 这里需要指定QueueInit是属于Queue这个类域
{

}
void Queue::QueuePush(int x)
{

}
void Queue::QueuePop()
{

}

总结:

  • 类中的成员函数在声明和定义分离时需要使用 :: 作用域解析符指明成员属于哪个类域。
  • 短小的成员函数,直接在类里面定义,直接被看成内联函数inline
  • 长的函数,声明和定义分离

类的实例化

在这里插入图片描述
总结:

  • 用类类型创建对象的过程,称为类的实例化
  • 类只是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它
  • 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量

在这里插入图片描述
类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。

计算类对象的大小

在这里插入图片描述

知识点:

  • 计算类型大小或者是类对象,只考虑成员变量,因为对象中,只存了成员变量,没有存成员函数
  • 对于类对象:只保存成员变量,成员函数存放在公共的代码段。
  • 一个类的大小,实际就是该类中”成员变量”之和,当然也要进行内存对齐。
  • 注意空类的大小,空类比较特殊,编译器给了空类一个字节来唯一标识这个类。
  • 如果一个类没有对象,那么它的对象需要给1byte进行占位,标识对象存在这1byte不存储有效数据
    在这里插入图片描述

结构体内存对齐规则:

https://blog.csdn.net/AI_ELF/article/details/117877990?spm=1001.2014.3001.5501

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:22:51  更:2021-10-11 17:24:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:03:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码