成员变量

Java从入门到精通 第16章 反射

£可爱£侵袭症+ 提交于 2019-12-17 03:03:28
Class类与反射 java.lang.reflect 所有类都继承与Object类,在Object类中定义了一个getClass方法,该方法返回一个类型为Class的对象,利用Class类的对象可以访问的主要信息。getFields()和getMethods()方法依次获得权限为public的成员变量和方法,包含从父类继承的成员变量和方法。getDeclaredFields()和getDeclaredMethods()只获得在本类中定义的所有成员变量和方法。 访问构造方法 通过上面表中构造方法访问, 返回Constructor类型的对象或数组 。每个Constructor对象代表一个构造方法。利用每个Constructor对象可以操纵相应的构造方法。 package ex16_reflect; public class Example_01 { String s; int i; int i2; int i3; private Example_01() { } protected Example_01(String s, int i) { this.s = s; this.i = i; } public Example_01(String... strings) throws NumberFormatException { if (0 < strings.length) { i =

Java类成员变量初始化顺序

青春壹個敷衍的年華 提交于 2019-12-16 14:04:14
成员变量按照其声明的顺序会被初始化,并且立刻被初始化为二进制的0,这个动作发生在所有事件之前,也就是编译器会立刻将分配给对象的空间初始化。 最后就是调用类的构造方法了。 执行顺序: 执行父类静态代码 执行子类静态代码 初始化父类成员变量(我们常说的赋值语句) 初始化父类构造函数 初始化子类成员变量 初始化子类构造函数 来源: https://www.cnblogs.com/hao-blogs/p/12039052.html

C语言博客作业06--结构体&文件

别说谁变了你拦得住时间么 提交于 2019-12-16 13:53:17
1.本章学习总结 1.1 学习内容总结 1.结构的介绍 结构(Structure)类型是一种允许程序员把一些数据分量聚合成一个整体的数据类型,一个结构中包含的每个数据分量都有名字。这些数据分量称为结构成员或者结构分量,结构成员可以是C语言中的任意变量类型,程序员可以使用结构类型来创建适合于问题的数据聚合。 像数组和指针一样,结构也是一种构造数据类型(或叫派生数据类型),它与数组的区别在于:数组中所有元素的数据类型必须是相同的,而结构中各成员的数据类型可以不同。 2.结构是C语言中一种新的构造数据类型,它能够把有内在联系的不同类型的数据汇聚成一个整体,使它们相互关联;同时,结构又是一个变量的集合, 可以按照对基本数据类型的操作方达单独使用其成员变量。 3.在C语言中,整型、实型等基本数据类型是被系统预先定义好了的,程序员可以用其直接定义变量。而结构类型是由用户根据需要,按规定的格式自行定义的数据类型。 4.结构类型定义的一般形式为: struct 结构名 { 类型名 结构成员名1; 类型名 结构成员名2; … 类型名 结构成员名n; }; 5.struct是定义结构类型的关量字,在struct之后,自行命名一个结构名,它必须是一个合法的C标识符。struct与结构名两者合起来共同组成结构类型名,大括号内的内容是结构所包括的结构成员,也叫结构分量。结构成员可以有多个,这样

新老师首课:基础加强+ 笔记

牧云@^-^@ 提交于 2019-12-16 12:48:16
package DemoTest; import java.lang.reflect.*; public class Test { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Class personClass = Person.class; // Field[] getFields() 获取所有public修饰的成员变量 Field[] fields = personClass.getFields(); for(Field field : fields) { System.out.println(field); } System.out.println("-------------------"); Field a = personClass.getField("a"); Person p = new Person(); Object value = a.get(p); System.out.println(value); a.set(p,"zhangsan"); System.out.println(p); System.out.println("======================"); // 获取所有的成员变量、不考虑修饰符

结构体类型知识总结

亡梦爱人 提交于 2019-12-16 04:56:46
结构体 数组是相同数据类型的集合,结构体的每个成员可以是相同的也可以是不同的数据类型,在C语言中规定结构体最少包括一个成员。 结构体的声明: 在声明结构体时,必须列出它包含的所有的成员。这个列表包括每个成员的类型和名字。 struct tag { member - list ; } variable - list ; 例如 struct { int a ; char b ; } x : 这个声明创建了一个名叫x的结构体变量,它有两个成员。 struct { int a ; char b ; } a [ 20 ] , * p ; p是一个指针,它指向这个类型的结构体。 那么 p = &x;是否合法?可以发现这两个声明它们的成员列表时完全一样的,但是即使它们的成员列表相同,编译器会当作两种截然不同的类型,所以这个语句是不合法的。 struct a { int a ; char b ; } ; 这个声明并没有创建任何变量,它只是声明了一种类型,就像int一样struct a类似与一个自定义的类型,而前两个是直接创建了结构体变量,它们是不完全声明,属于匿名结构体类型。 typedef的使用 、 在声明结构体时可以使用typedef创建一种新的类型。例如: typedef struct a { int a ; char b ; } : a现在是一个类型名,可以直接使用它来声明变量, 比如:a

类加载器&反射&模块化

删除回忆录丶 提交于 2019-12-16 02:12:44
1.类加载器 1.1类加载【理解】 类加载的描述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化 类的加载 就是指将class文件读入内存,并为之创建一个 java.lang.Class 对象 任何类被使用时,系统都会为之建立一个 java.lang.Class 对象 类的连接 验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致 准备阶段:负责为类的类变量分配内存,并设置默认初始化值 解析阶段:将类的二进制数据中的符号引用替换为直接引用 类的初始化 在该阶段,主要就是对类变量进行初始化 类的初始化步骤 假如类还未被加载和连接,则程序先加载并连接该类 假如该类的直接父类还未被初始化,则先初始化其直接父类 假如类中有初始化语句,则系统依次执行这些初始化语句 注意:在执行第2个步骤的时候,系统对直接父类的初始化步骤也遵循初始化步骤1-3 类的初始化时机 创建类的实例 调用类的类方法 访问类或者接口的类变量,或者为该类变量赋值 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象 初始化某个类的子类 直接使用java.exe命令来运行某个主类 1.2类加载器【理解】 1.2

c博客06-2019-结构体&文件

拟墨画扇 提交于 2019-12-15 22:50:07
1.本章学习总结 1.1 学习内容总结 1.结构的定义 结构类型定义的一般形式为: struct 结构名{ 类型名 结构成员1; 类型名 结构成员2; ······ 类型名 结构成员n; }; 例如: ``` struct USER { char account[100]; char password[200]; }; ``` 2.结构的嵌套定义 先定义成员的结构类型,再定义主结构类型。 例如: ``` struct address{ char city[10]; char street[20]; }; struct nest_student{ int num; char name[10]; struct address addr; }; ``` 3.结构变量的定义和初始化 (1)单独定义 先定义一个结构类型,再定义这种结构类型的变量。 (2)混合定义 在定义结构类型的同时定义结构变量。 一般形式为: struct 结构名{ 类型名 结构成员1; 类型名 结构成员2; ······ 类型名 结构成员n; }结构变量名表; 例如: ``` struct student { int num; char name[10]; int computer,english,math; }s1,s2; ``` (3)无类型名定义 在定义结构变量的同时省略结构名。 一般形式为: struct {

this关键字

只谈情不闲聊 提交于 2019-12-15 22:38:20
package com.review;/*当方法的局部变量和另类的成员变量重复的时候根据就近原则优先使用成员变量如果需要访问本类中的成员变量,需要使用格式this.成员变量名一定 在方法中使用 通过谁调用谁就是this. */public class thisPerson { String name; public void sayhello(String name){ System.out.println(name+"我是"+this.name); System.out.println(this);//com.review.thisPerson@154617c this和Person地址值一样证明了通过谁调用谁就是this } public static void main(String[] args) { thisPerson Person = new thisPerson(); Person.sayhello("王小尹");//王小尹我是null System.out.println(Person);//com.review.thisPerson@154617c }} 来源: https://www.cnblogs.com/xzwx668/p/12046168.html

c博客06-结构体&文件

*爱你&永不变心* 提交于 2019-12-15 22:35:15
1.本章学习内容总结 1.1学习内容总结 1.结构体如何定义及成员如何赋值 先定义结构体再定义变量 struct 结构体名 { 数据类型   成员名1; 数据类型   成员名2; : 数据类型   成员名n; }; struct 结构体名 变量名; 在定义结构体同时定义变量 struct 结构体名 { 数据类型 成员名1; 数据类型 成员名2; .... }变量名; 成员的赋值 假如变量名是s,直接赋值:s.成员名=内容、当s是数组名是,利用strcpy赋值,赋值时注意是否需要加& 2.结构体数组排序做法 3.结构体指针怎么用 定义结构体指针:struct 结构体名 p; 利用( p)成员名或p->成员名访问结构体成员 # include <stdio.h> struct STU { char name[20]; int age; char sex; char num[20]; }; int main(void) { struct STU stu[5] = {{"小红", 22, 'F', "Z1207031"}, {"小明", 21, 'M', "Z1207035"}, {"小七", 23, 'F', "Z1207022"}}; struct STU *p = stu; return 0; } 此时指针变量 p 就指向了结构体数组的第一个元素,即指向 stu[0]

Static成员变量和非成员变量

℡╲_俬逩灬. 提交于 2019-12-15 21:59:56
赋值问题 public class static_x { /*static: * 1.为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关 * 2.实现某个方法或属性与类而不是对象关联在一起, * 在不创建对象的情况下就可以通过类来直接调用方法或使用类的属性 * */ /*static成员变量: * 静态变量属于类,在内存中只有一个复制(所有实例都指向同一个内存地址) * * */ static int i ; //静态成员变量 int j ; public static void main ( String [ ] args ) { static_x x1 = new static_x ( ) ; static_x x2 = new static_x ( ) ; x1 . i = 3 ; x2 . i = 5 ; //相当于二次赋值,同一个静态成员变量可以被多个对象改变 x1 . j = 4 ; //只能对应的对象改变非成员变量 x2 . j = 6 ; System . out . println ( x1 . i + " " + x1 . j + " " + x2 . i + " " + x2 . j ) ; } // 5 4 5 6 } 来源: CSDN 作者: 奎葵 链接: https://blog.csdn.net/qq_44083614/article