成员变量

黑马程序员--java基础加强之反射(Reflection)

℡╲_俬逩灬. 提交于 2020-04-07 06:56:36
------- android培训 、 java培训 、期待与您交流! ---------- 反射 一、反射的基石-->Class类 1、java类的作用:是用来描述一类事物的共性,有什么属性,没有什么属性,至于属性的值是什么,则由这个类的实例对象来确定的,而不同的 实例对象就有不同的属性值。 2、Class类的产生:java程序中的各个java类也属于同一类事物,所以也可以用一个类来描述这些事物,这个类就是Class。 例如:众多的人需要建一个Person类,同理众多的类需要建一个Class类。 二、Class类介绍 1、创建Class类的的引用:Class class = 字节码(Person.class); 字节码:每个类编译后会产生一个.class文件,该文件就是字节码。 1)类名.class,如:System.class; 2)对象.getClass(),如:new Date().getClass(); 3)Class.forName("类名"),如:Class.forName("java.lang.String"); 该方法在反射中常用,用时将类名作为变量传入。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class ReflectionClass { public static

换个语言学一下 Golang (9)——结构体和接口

a 夏天 提交于 2020-04-06 20:33:30
基本上到这里的时候,就是上了一个台阶了。Go的精华特点即将展开。 结构体定义 上面我们说过Go的指针和C的不同,结构体也是一样的。Go是一门删繁就简的语言,一切令人困惑的特性都必须去掉。 简单来讲,Go提供的 结构体 就是把 使用各种数据类型定义 的 不同变量组合起来 的 高级数据类型 。闲话不多说,看例子: type Rect struct { width float64 length float64 } 上面我们定义了一个矩形结构体,首先是关键是 type 表示要 定义一个新的数据类型了 ,然后是新的数据类型名称 Rect ,最后是 struct 关键字,表示这个高级数据类型是结构体类型。在上面的例子中,因为 width和length的数据类型相同 ,还可以写成如下格式: type Rect struct { width, length float64 } 好了,来用结构体干点啥吧,计算一下矩形面积。 package main import ( "fmt" ) type Rect struct { width, length float64 } func main() { var rect Rect rect.width = 100 rect.length = 200 fmt.Println(rect.width * rect.length) } 从上面的例子看到

JavaScript的public、private和privileged模式

非 Y 不嫁゛ 提交于 2020-04-06 18:24:36
JavaScript 的public、private和privileged模式 原文: Private Members in JavaScript 公共/私有变量和方法 通过一个简单的的例子,来展示如何使用JavaScript在类里面创建私有变量和方法 Summary 私有变量 在对象内部使用'var'关键字来声明,而且它只能被私有函数和特权方法访问。 私有函数 在对象的构造函数里声明(或者是通过var functionName=function(){...}来定义),它能被特权函数调用(包括对象的构造函数)和私有函数调用。 特权方法 通过this.methodName=function(){...}来声明而且可能被对象外部的代码调用。它可以使用:this.特权函数() 方式来调用特权函数,使用 :私有函数()方式来调用私有函数。 公共属性 通过this.variableName来定义而且在对象外部是可以读写的。不能被私有函数所调用。 公共方法 通过ClassName.prototype.methodName=function(){...}来定义而且可以从对象外部来调用。 原型属性 通过ClassName.prototype.propertyName=someValue来定义。 静态属性 通过ClassName.propertyName=someValue来定义。

Java Abstract class and Interface

寵の児 提交于 2020-04-04 08:44:43
(一)概述 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存 在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有 很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的 选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于问题领域本质的理 解、对于设计意图的理解是否正确、合理。   abstract class和interface在Java语言中都是用来进行抽象类(本文 中的抽象类并非从abstract class 翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法, 请读者注意 区分)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢?   在 面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是 所有 的类都是用来描绘对象的(把类具体化),如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的 类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去 不同,但是本质上相同的具体概念的抽象。比如

Const,Const函数,Const变量,函数后面的Const (zz)

坚强是说给别人听的谎言 提交于 2020-04-04 08:23:04
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。 1.用const 修饰函数的参数 如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能加const 修饰,否则该参数将失去输出功能。const 只能修饰输入参数: 如果输入参数采用“指针传递”,那么加const 修饰可以防止意外地改动该指针,起到保护作用。 例如StringCopy 函数: void StringCopy(char *strDestination, const char *strSource); 其中strSource 是输入参数,strDestination 是输出参数。给strSource 加上const修饰后, 如果函数体内的语句试图改动 strSource 的内容,编译器将指出错误。 如果输入参数采用“值传递”,由于函数将自动产生临时变量用于复制该参数

OC的@property 和 @synthesize id

a 夏天 提交于 2020-04-02 05:34:31
学习java的JDBC,成员变量的setter和getter,eclipse都能帮我们自动生成;当然xcode这款编译器也很强大,也能自动生成; 1:@property @property是写在类的声明中的,具体写法; @interface Person : NSObject { _age; } @property int age; // 这句话相当于下边的getter和setter,但是注意age没有'_',但是就是为有下划线的age生成的,这样方便了点语法的调用; // - (void)setAge:(int)age; // - (int)age; @end 所以写法:@property (成员变量的类型) 去掉下划线的成员变量名 2:@synthesize:setter和getter方法的实现,在implementation中; @implementation @synthesize age = _age; // 注意格式,等号左边表示实现age的setter和getter,即 setAge 和 age; 等号右边表示访问那个成员变量; // 代替了下面这两个方法; /* - (void)setAge:(int)age { _age = age; } - (int)age { return _age; } */ @end 3:@property

union vs struct

偶尔善良 提交于 2020-04-01 03:20:14
union ( 共用体):构造数据类型,也叫联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖) struct ( 结构体 ):是一种构造类型 用途: 把不同的数据组合成一个整体——自定义数据类型 主要区别: 1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员; 而struct的所有成员都存在。在struct中,各成员都占有自己的内存空间,它们是同时存在的, 一个struct变量的总长度等于所有成员长度之和,遵从字节对其原则 ; 在Union中,所有成员不能同时占用它的内存空间,它们不能同时存在 , Union变量的长度等于最长的成员的长度 。 2. 对于union的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了,所以,共同体变量中起作用的成员是最后一次存放的成员; 而对于struct的不同成员赋值是互不影响的。 来源: https://www.cnblogs.com/xiuxiu55/p/7652587.html

C++基本功:全面掌握const、volatile和mutable关键字

时光怂恿深爱的人放手 提交于 2020-03-31 13:18:40
C++ 程式设计过程中 ,const 的使用可以频度是非常高的 . 它在保证程式安全方面起到了不可估量的作用 . 用一句话来表达最确切不过了:"小兵立大功" . 有了 const, 那么 mutable 当然缺不了 . 然作为 const 的同胞兄弟 ,volatile 却在很多人的视野中消失 . 其实 volatile 担负的责任有何尝小呢 ? 自然 , 它们的用法多样而灵巧 , 以至新手迷惑久久 , 下面就来系统的探讨总结一下吧: 一 . 一般应用 1.const 修饰各种变量的用法 . a. 取代 define #define D_INT 100 #define D_LONG 100.29 ……… const int D_INT = 100; const D_INT = 100; // 如果定义的 int 类型 , 可省略 int. const long D_LONG = 100.29; ……… const int& a = 100; const 替代 define 虽然增加分配空间 , 可它却保证了类型安全 . 在 C 标准中 ,const 定义的数据相当于全局的 , 而 C++ 中视声明的位置而定 . b. 修饰指针相关的变量 以三组简单的定义示意: Group1: int a = 0; const int* b = &a;------------ [1] int

C语言结构体

Deadly 提交于 2020-03-31 08:06:43
1. 引入 问题域:跟问题本身相关的一些因素,元素,条件等这些 分析问题,需求,目标 算法思路 解决方案域: 与具体的解决问题的方式,方法相关的一些因素,条件 数学 = 》数学方法(公式,方程) C 语言 = 》算法模型、存储类型、语法 ... 问题域 = 》解决方案域 要把问题域里面的因素 = 》解决方案域的因素 “人” 在解决方案域用什么描述 建模 :来描述问题 现实世界物体需要抽象成计算机语言中数据类型 学生: 学号 =>int 姓名 =>char[] 性别 =>char/int 年龄 =>int 地址 =>char[] ... => 这些物体的属性组合到一个数据类型中 C 语言中允许程序员定义自己的组合类型 结构体 联合体 / 共用体 枚举 2. 结构体 : 自定义的一种组合数据类型 2.1 定义 struct 结构体名 { 成员类型 1 成员名 1; 成员类型 2 成员名 2; 成员类型 3 成员名 3; .... }; 结构体名 :符合 C 语言中标识符的规定 struct 结构体名 =>( 你定义的 ) 新类型的名字 成员类型 :C 语言任意合法的数据类型都可以 成员名 : 符合 C 语言中标识符的规定 eg: struct student { int num; char name[32]; char sex; int age; char addr[32]; }; =

java 面向对象——进度1

孤人 提交于 2020-03-31 06:46:50
面向对象: 1,面向对象和面向过程思想。 面向对象强调的是对象实例。 面向过程强调的是动作。 对象将动作进行封装。 在问题领域中,我们先去找的都是涉及的对象, 然后分析对象的属性和行为。 2,面向对象的特点。 1,是一种常见思想。 2,复杂变简单。 3,执行者变指挥者。 举例:面试的例子。 3,类与对象的关系。 类:就是对事物的描述,其实类就是将对象共性的内容进行抽取。 对象:就是该类事物实实在在存在个体,在java中通过new来完成创建的, 堆内存的对象主要用于封装对象中的特有数据。 4,类中的成员: 成员变量:事物的属性, 成员函数:事物的行为。 成员变量和局部变量的区别? 答: 如何使用成员,只要建立该类对象,并通过 "对象.对象成员" 就可以完成调用 5,封装。 隐藏实现细节,并对外提供公共的访问方式。 函数或者类都是一个封装体。 特点: 1,隔离的变量。 2,便于使用。 3,提高复用。 4,提高安全性。 举例:机箱的例子 体现之一:私有。 私有在源代码中的使用就是在本类中有效。 通常会将成员变量xxx私有化,并对外提供对应的setXxx getXxx方法对其进行访问。 其实目的就是成员变量访问进行控制。 让成员的访问具备可控性,提高了程序的健壮性。 私有仅仅是封装的体现形式之一而已。 自定义一个Person类。动手。 6,构造函数。 写法特点: 1,函数名和类名相同。 2