成员变量

面向对象成员变量和局部变量,private--学习笔记--13

爷,独闯天下 提交于 2020-02-13 11:13:04
1.成员变量和局部变量区别 1.在类中位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 举例: Class Demo { //成员变量(方法外) Int num=10; Public void show ( ) { Int num2=20;//局部变量 } } 2.在内存中位置不同 成员变量:在堆内存 局部变量:在栈内存 3.生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法调用完毕而消失 4. 初始化值不同 成员变量:有默认初始化值 局部变量: 没有默认初始化值,必须定义,赋值,然后才能使用 注意事项: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则 class Variable { //int num=10; int num; public void show() { //int num2;//报错,可能尚未初始化。参照定义 int num2=20; System.out.println(num2); } } class VariableDemo{ public static void main(String[] args) { Variable v=new Variable(); System.out.println(v.num);//访问成员变量 v.show(); }

JavaSE学习笔记-Day8

Deadly 提交于 2020-02-13 11:11:09
孔子云:温故而知新,可以为师矣。那么今天就来回顾一下这一个星期所学的知识。 第一章: 初步认识Java Java版本:SE 、 EE 、 ME, SE定位于计算机,EE定位于服务器。 Java优势: 跨平台性 (不区分操作系统),面向对象,多线程,高性能等等。 JVM 、JRE 、JDK:JVM是跨平台性的核心机制,运行Java只要JRE,开发需要JDK。 Java运行机制 :先编译成.class文件,再解释运行。 "Hello World"程序: main方法是Java程序的入口。输出语句的固定写法。 第二章: Java面向对象编程基础 面向过程和 面向对象 思想:万物皆可对象,要宏观把控系统。 类和对象: 类是模板,对象是实例。 1)类一般由三大部分组成(成员):成员变量、成员方法、构造方法。类名要符合驼峰原则。 2)看见new这个关键字就是在创建对象,其含义是调用类的构造方法创建实例。 3) 匿名对象 :一般对象都会给个名字,没名字的就是匿名对象。 Java数据类型: 两类,基本数据类型和引用数据类型。 1)整型默认为int,浮点型默认为double,long型数据在末尾加"l/L",float型数据在末尾加"f/F"。浮点型数据避免直接比较大小! 2)自动数据类型转化:范围小的可自动转换成范围大的,有部分转化过程可能出现精度丢失,所以这也不是绝对安全的。 3)强制类型转化

在Qt中如何使用QtDesigner创建的UI文件

倖福魔咒の 提交于 2020-02-13 04:14:39
使用Qt有一些时间了,一直在IDE环境(qtcreator和VS2003+集成器)中使用,自然少了很多麻烦的步骤。但是在享受这种便利的同 时,我们也失去了理解更多知识背后的点滴。在IDE中,如果我们要开发一个对话框,通常是使用 “新建—>Qt—>Qt设计师界面类” 这样IDE会自动的帮我们生成三个文件(filename.ui, filename.h,filename.cpp)。qmake也非常智能,可以自动检测到这个用户界面文件(filename.ui)并且生产适当的 makefile规则。这样在编译之前,IDE会自动调用uic(Qt自带的用户界面编译器,User Interface Compiler)将界面文件(filename.ui)转换成C++代码并保存在ui_filename.h文件中。并且在另外两个C++源文件 (filename.h和filename.cpp)中使用了组合(即委托或代理)的方式使用了ui_filename.h里的类(该类通常定义在命名空 间Ui下)。 如果你不主动的留心这些细节,你可能永远都不明白这些,即使使用了多年的Qt,我就是这样。一次,项目组的需求人员嫌弃我们开发人 员做的界面布局不够恰当,美观。于是有了自己来开发界面的想法。很好!开发人员很快手把手的教会了需求人员用Qt Designer设计窗体界面,然而,等到需求人员把 pureui

Java中this关键字

一个人想着一个人 提交于 2020-02-13 03:31:14
Java中this关键字 1、当形参与成员变量重名时,如果在方法内部需要使用成员变量,添加this来声明改变是类成员 2、在任意方法内,如果使用当前类的成员变量或成员方法可以前面添加this,有较好的阅读性 3、当this调用构造方法时,必须放在构造的首行,不能自己调用自己 int age; String name; /** * 这是无参构造 */ public Person1() { this(2,"zhang",99);//指的是person1三个参数的构造 } /** * 这是一参数构造 * @param age */ public Person1(int age) { this();//指的是person1无参构造 this.age = age; } /** * 这是一参数构造 * @param name */ public Person1(String name) { this(1);//指的person1一个参数的构造 } /** * 这是两参数构造 * @param age * @param name */ public Person1(int age, String name) { this.age = age; this.name = name; } /** * 这是三参数构造 * @param age * @param name * @param i */

C++学习(2)

前提是你 提交于 2020-02-13 02:07:55
今天从P7开始 P7.成员变量 成员变量其实就相当于结构体变量 成员变量到底在哪里呢?在class里声明之后,并没有实体存在,只是知道有一个成员变量,而不知道在哪里。而在定义了这个class的对象后,也就定义了此class里面的成员变量。还是要分清declaration和definition. P8.成员变量的秘密 this指针 首先说变量是属于对象的,函数是属于类的。 在调用函数的时候 例子如下) 这个f()函数是如何设计的,使得它能够知道我在用a.f()还是aa.f() 这里其实有一个隐藏的指针“this”指向所调用函数所属的类的对象 这就是成员变量的秘密 来源: CSDN 作者: 牵衣顿足拦道哭 链接: https://blog.csdn.net/weixin_45503115/article/details/104279477

静态成员 static 能被继承吗

北城以北 提交于 2020-02-12 04:31:04
在类定义中,它的成员(包括数据成员和 成员函数)可以用关键字static声明为静 态的,这些成员称为静态成员 静态成员的特性: • 不管这个类创建了多少个对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的 对象共享 静态成员包括: • 静态数据成员 • 静态成员函数 在一个类中,若将一个数据成员声明为 static,这种成员称为静态数据成员。 (静态数据成员在类内声明,在类外定 义) 与一般的数据成员不同,无论建立了多 少个对象,都只有一个静态数据的拷贝 可以认为该静态数据是属于该类的,而 不是具体的属于某一个对象 说明: • 静态数据成员属于类(准确地说,是属于类中 一个对象集合),而不像普通数据成员那样属 于某一对象, 因此可以使用“类名::”访问静态 的数据成员。但也可以通过“对象名.”访问 • 静态数据成员不能在类中进行初始化,因为在 类中不给它分配内存空间,必须在类外的其它 地方为它提供定义。一般在main() 开始之前、类的声明之后的特殊地带为它提供定义 和初始化。缺省时,静态成员初始为0 静态成员函数可以在类内定义。也可以在类内声明,类外定义。在类外定义时,不要用 static前缀 • 编译系统将静态成员函数限定为内部连接, 也就是说,与现行文件相连接的其它文件中 的同名函数不会与该函数发生冲突,维护了 该函数使用的安全性,这是使用静态成员函 数的一个原因 •

C++总结(二)

ε祈祈猫儿з 提交于 2020-02-12 02:31:24
一、this指针 1、概念 :类非静态成员函数的第一个隐藏的参数,该参数使用指向调用当前函数的对象 2、特性 : this指针类型:T* const 普通类型成员函数:T* const 可以修改对象的内容,可以调用普通和const类型的成员函数 const类型成员函数:const T* const:this指向不能修改并且指向对象中的内容也不能修改,只能调用const类型的成员函数 this是非静态成员函数的第一个隐藏参数,隐藏:用户在编写函数时不用给出this的参数,该参数是编译器自己维护,调用该函数也不需要手动传递,this指针的传参也是编译器自己进行 this指针只存在于正在运行的成员函数中,this指针不会存在于对象中,不会影响类对象的大小 静态成员函数:没有this指针 this指针的传递:一般情况exc寄存器(this_call:调用约定),也可能通过参数压栈的方式进行传递:push 对象地址(比如:类中如果包含不定参数的成员函数) 3、this指针是否可以为NULL 如果成员函数是通过对象的方式进行调用,this指针一定不会为NULL: 如果成员函数是通过类类型的指针方式进行调用,this指针可能会为NULL: 4、this指针位置:栈 类的编译过程: 1、识别类名 2、识别类中的成员 3、识别类中的成员函数,并对成员函数进行改写 二、类中六个默认的成员函数 1

day25_Junit测试丶反射丶注解

隐身守侯 提交于 2020-02-11 22:36:40
软件测试 查询百度百科: 软件测试(英语: Software Testing ),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较 过程 。软件测试的经典定义是:在规定的条件下对程序进行 操作 ,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 测试的分类 黑盒测试: 不需要写代码,给输入值,看程序是否能够输出期望的值。 白盒测试: 需要写代码的。关注程序具体的执行流程。Junit测试属于白盒测试中的一种。 现在我们拿到一个需求,需要测试一下Junit包下的Calculator类代码编写是否正确。代码如下 package Junit; /** * 计算器类 */ public class Calculator { /** * 加法 * @param a * @param b * @return */ public int add(int a, int b){ return a +b; } /** * * @param a * @param b * @return */ public int sub(int a,int b){ return a -b; } } 按照以前的知识,我们需要在测试类中,创建Calculator类的对象,在调用Calculator类中编写的方法

黑马程序员-----结构体数组

别等时光非礼了梦想. 提交于 2020-02-11 07:15:00
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----- 第一讲 结构体数组 一、结构体数组的概念 数组的元素也可以是结构类型的。因此可以构成结构型数组。结构数组的每一个元素都是具有相同结构类型的下表结构变量。在实际应用中,经常用结构数组来表示具有相同数据结构的一个群体。如一个班的学生档案,一个车间职工的工资表等。 二、结构数组定义 定义格式: struct 结构名{ 成员表列 }数组名[数组长度]; 例如:定义一个长度为5的数组,其中每一个元素都是stu结构类型。 struct stu{ int num; char *name; char sex; float score; }boy[5]; 定义了一个结构数组boy,共有5个元素,boy[0]~boy[4].每个数组元素都具有struct stu的结构形式。 1 /* 2 结构体数组: 3 4 用来存放大量的结构体相同的结构体变量。 5 6 结构体数组定义: 7 8 结构体数组定义的第一种方式: 9 1.定义结构体的同时,定义数组 10 struct Student{ 11 int age; 12 char *name; 13 int sno; 14 float score; 15

c的详细学习(10)结构体与共用体的学习(二)

橙三吉。 提交于 2020-02-11 04:47:24
在c语言中,结构体数据类型与共用体数据类型都属于构造类型。共用体与结构体数据类型在定义上十分相似,但它们在存储空间的占用分配上有本质的区别。结构体变量是各种类型数据的集合,各成员占据不同的存储空间,而共用体变量的所有成员占用相同的存储空间,在某一时刻只有一个成员起作用。 (1)共用体类型的定义 定义共用体类型的一般形式: union 共用体类型名 { 数据类型 成员名1; 数据类型 成员名2; 数据类型 成员名3; ...... }; 以上定义了一个名为data的共用体类型。它说明该类型由三个不同类型的成员组成,这些成员共享同一块存储空间。 (2)共用体变量的定义 与结构体变量的定义类似; (3)共用体变量的引用和初始化 1.引用共用体变量中的一个成员 引用共用体变量的成员的一般形式 共用体变量名.成员名 共用体指针变量->成员名 第一种引用方式应用于普通共用体变量,第二种引用方式应用于共用体指针变量。 union data a,*p=&a; 2.共用体类型变量的整体引用 可以将一个共用体变量作为一个整体赋给另一个同类型的共用体变量。例如: union data a,b; ...... a=b; 3.共用体变量的初始化 在共用体变量定义的同时只能用第一个成员的类型值进行初始化,共用体变量初始化的一般形式: union 共用体类型名 共用体变量={第一个成员的类型名}; 例如: