成员变量

共用体

别来无恙 提交于 2020-02-11 04:40:37
  有时需要使几种不同类型的变量存放到同一段内存单元中。例如可以一个整形变量,一个字符型变量,一个实型变量放在同一地址开始的内存单元中。以上3个变量在内存单元中占的字节数不同,但是都从同一地址开始存放。也就是使用覆盖技术,几个变量互相覆盖。   共用体和结构体形式相似。但含义不同。   结构体变量所占的内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。共用体变量所占的内存长度等于最长的成员的长度。   共用体类型数据的特点:   (1) 同一内存段可以用来存放几种不同类型的成员,但在每一瞬间只能存放其中一种,而不是几种同时存在。也就是说在每一瞬时只有一个成员起作用,其他的成员不起作用,即不是几种同时都存在和起作用。   (2) 共用体变量中其作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。因此在引用共用体变量时应该十分注意当前存放的共用体变量中究竟是哪一个成员。   (3) 共用体变量的地址和它的各成员的地址都是同一地址。   (4) 不能对共用体变量名赋值,也不能企图引用变量名得到一个值,又不能在定义共用体变量时对它初始化。   (5) 不能把共用体变量作为函数参数,也不能使函数带回共用体变量,但可以使用指向共用体变量的指针。   (6) 共用体类型可以出现在结构体类型定义中,也可以定义共用体数组。反之

C语言------结构体和共同体

给你一囗甜甜゛ 提交于 2020-02-11 01:07:37
1.结构体是一种构造类型,它是由若干成员组成的,其中每个成员可以是一个基本数据类型或者是一个构造类型。声明结构体时使用关键字struct。 2..声明一个结构体表示的是创建一个新的类型名,要用新的类名再定义变量,定义方式有三种:   A.声明结构体,然后再定义变量。     struct Product     {成员列表};     struct Product product1;     struct Product product2;   B.在声明结构类型时,同时定义变量。     struct Product     {       char cName[10];       char cShape[20];     }product1, product2;     PS:注意变量的名称要放在最后的分号前面;定义的变量不是只能有一个,可以定义多个变量    C.直接定义结构体类型变量。     struct     {       成员列表     }变量名列表; 3.在引用结构体的成员时,可以在结构的变量名的后面加上成员运算符"."和成员的名字,例如:product1.cName 4结构体类型与其他基本类型一样,可以在定义结构体变量时指定初始值。例如:   struct Student   {     char cName[20];     char cSex;    

C++类和对象

落花浮王杯 提交于 2020-02-10 19:29:01
---恢复内容开始--- 一: C++类的定义和对象的创建   与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间。而对象是类这种数据类型的一个变量,或者说是通过类这种数据类型创建出来的一份实实在在的数据,所以占用内存空间。    类的定义 1 class Student{ 2 public: 3 //成员变量 4 char *name; 5 int age; 6 float score; 7 8 //成员函数 9 void say(){ 10 cout<<name<<"的年龄是"<<age<<",成绩是"<<score<<endl; 11 } 12 };    class 是 C++ 中新增的关键字,专门用来定义类。    Student 是类的名称;类名的首字母一般大写,以和其他的标识符区分开。    { } 内部是类所包含的成员变量和成员函数,它们统称为类的成员(Member);由 { } 包围起来的部分有时也称为类体,和函数体的概念类似。    public 也是 C++ 的新增关键字,它只能用在类的定义中,表示类的成员变量或成员函数具有“公开”的访问权限。 注意在类定义的最后有一个分号 ; ,它是类定义的一部分,表示类定义结束了,不能省略。   整体上讲,上面的代码创建了一个 Student 类,它包含了 3 个成员变量和 1 个成员函数。    类只是一个模板

深入分析Java中的关键字static

馋奶兔 提交于 2020-02-08 11:57:15
在平时开发当中,我们经常会遇见static关键字。这篇文章就把java中static关键字的使用方法的原理进行一个深入的分析。先给出这篇文章的大致脉络: 首先,描述了static关键字去修饰java类、方法、变量、代码块的方法 然后,从底层分析static关键字, 接下来,给出static的一些使用场景和案例 最后,对static进行一个总结,包括和普通变量的区分。 OK,开始今天的文章。 一、static关键字的基本用法 1、static关键字基本概念 我们可以一句话来概括:方便在没有创建对象的情况下来进行调用。 也就是说:被static关键字修饰的不需要创建对象去调用,直接根据类名就可以去访问。对于这个概念,下面根据static关键字的四个基本使用来描述。然后在下一部分再来去分析static的原理,希望你能认真读完。 2、static关键字修饰类 java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。下面看看如何使用。 如果没有用static修饰InterClass,则只能new 一个外部类实例。再通过外部实例创建内部类。 3、static关键字修饰方法 修饰方法的时候,其实跟类一样,可以直接通过类名来进行调用: 4、static关键字修饰变量 被static修饰的成员变量叫做静态变量

Java面向对象大致梳理

你。 提交于 2020-02-07 21:19:19
面向对象思想、 面向对象思想概述: Java设计语言面向对象: Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 类和对象: 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。 类与对象的关系 : 类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。 面向对象之封装: 概述: 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

04面向对象基础

醉酒当歌 提交于 2020-02-07 06:52:48
总结一下这两天的学习笔记,正所谓温故而知新嘛,希望能够更好的学习后面的新知识 1、面向对象概念 面向对象三大特征:封装、继承、多态 2、类对象是引用传递 把一个对象传递到方法中,传递的也是这个对象本身的引用,修改这个对象会影响外面的对象 3、null 表示变量没有指向任何对象 值类型(ValueType):数值类型(int、long、double等)、boolean等基本类型,枚举、结构体的值是复制传递,不能为null; String不是值类型 4、局部变量和成员变量 (1)局部变量必须初始化,成员变量声明时已经默认初始化了(基本数值类型初始化值为0;布尔类型默认初始化值为false;string类型初始化值为null) (2)当成员变量和局部变量(函数参数也可以看做局部变量)重名的时候,成员变量被看做局部变量,为避免混乱,访问成员变量时加上"this.","this"表示当前对象; 5、public和private class test { public int age;//被public修饰,这个成员变量可以被外部和这个类自己访问 private string name;//被private修饰,这个成员变量只能被这个类内部访问 //可以声明一个setName方法来提供给外界 外部通过这个方法操作给内部的私有变量name赋值 public void setName(int

Java入门part5--类和对象

▼魔方 西西 提交于 2020-02-07 05:13:33
类和对象 oop语言的三大特征?(OOP 面向对象的程序设计语言 Object-oriented-program) 继承 封装 多态 什么是类?什么是对象? 类是一类对象的统称,对象是类的具体化的实例。在现实世界中类就相当于设计图纸,而对象就是根据图纸建造出来的房子。 面向对象 关注对象 即参与过程所涉及到的主体 处理大问题 面向过程 关注过程 即整个过程中涉及的行为 处理小问题 类和类的实例化 A . 如何产生一个类 //产生类的语法 class 类名{ field;//成员字段 即类中的元素 method;//成员方法 } 比如 class Person{ //属性 成员变量 实例成员变量 存放在对象内 public String name; public int age; //static修饰的 静态成员变量(也叫类变量)编译时已产生 属于类本身且只有一份 放在方法区 public static int count = 10; //被static和final同时修饰 静态常量 属于类本身 只有一份 后续不可更改 放在方法区 public static final int SIZE = 20; //实例成员常量 被final修饰 也属于对象 放在哪个区不一定 public final int SIZE2 = 30; //构造方法 public Person(String

2020-02-06

浪子不回头ぞ 提交于 2020-02-07 01:42:58
Java的变量 1:什么是成员变量和局部变量 成员变量:类中方法外的变量(堆内存) 局部变量:方法中的变量(栈内存) 成员变量:有默认的初始化值 局部变量:没有默认的初始化值,必须先定义,给值后才能使用。 来源: CSDN 作者: 桃红 闹 链接: https://blog.csdn.net/qq_46189247/article/details/104200782

Java SE学习总结 Day (10)

佐手、 提交于 2020-02-07 00:02:37
Day 10开篇: " 今天java基础主要学习了面向对象的构造方法的概念,特征,作用,分类,注意事项,JavaBean;代码块,继承的概念,特点,好处,缺点,this和super的区别,继承的注意的问题,构造方法的关系,extends关键字等。 " 知识点反馈: 今天的知识点总结思维导图 一. 构造方法 1. 构造方法的特征: (1)他的名字和类名必须完全一致 (2)构造方法没有返回值,连void也不存在 (3)不能被任何的修饰符进行修饰(权限修饰符除外) (4)不能有return语句返回值 2. 构造方法的作用: 创建对象;给对象进行初始化 例:String name = null; 这个等于null,也有赋值的过程,这个过程是谁完成呢? 构造器完成的,这个过程被称之为隐式赋值 3. 构造器的分类: (1)隐式无参构造器(系统默认提供) (2)显式定义一个或多个构造器(无参、有参,自己提供) 4. 构造器的注意事项: (1) Java语言中,每个类都至少有一个构造器 (2) 默认构造器的修饰符与所属类的修饰符一致 (3) 一旦显式定义了构造器,则系统不再提供默认构造器(一般我们即使提供了带参,一般也会自己手动的写上一个无参) (4) 一个类可以创建多个重载的构造器(构造器的名字既然和类名一致,那么是不是意味着,同一个类当中只能出现一个名字的构造;这种情况其实就会造成构造重载

day05_encapsulation

两盒软妹~` 提交于 2020-02-06 23:02:11
day05 2020年2月6日 封装性在java的体现 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对外界不可见。 将 属性 隐藏起来,如果需要访问某个属性, 提供公共方法 对其访问 封装的步骤 : 用 private 关键字来修饰变量 对于需要访问的成员变量,提供一对 getXxx 方法、 setXxx 方法。 private关键字 private使用格式 private 数据类型 变量名 /* 问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。 解决方案:用private关键字将需要保护的成员变量进行修饰。 一旦使用private进行修饰,那么本类当中仍可以随意访问。 但是超出本类就不能在直接访问了 间接访问private成员变量,就是定义一对setter/getter方法 对于getter来说,不能有参数,返回值类型与成员变量相对应 对于布尔类型的成员变量,函数名为isXxx而不是getXxx 对于setter来说,不能有返回值,参数类型和成员变量对应 */ public class Person { String name; private int age; public void show(){ System.out.println("my name is "+name+"年龄是"+age); } //这个成员方法