构造方法

java 反射机制

杀马特。学长 韩版系。学妹 提交于 2019-12-17 15:09:49
  JAVA反射机制是在 运行状态中 ,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 注意:反射是在 运行的时候 进行的,不是在编译的时候运行的。 反射的功能 Java反射机制 主要 提供了以下 功能 : 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法;生成动态代理。 API简介 在这里先看一下 sun 为我们提供了那些反射机制中的类:   — java.lang.Class; 代表一个类   — java.lang.reflect.Constructor; 代表类的构造方法   — java.lang.reflect.Field; 代表类的成员变量(成员变量也称为类的属性)   — java.lang.reflect.Method;  代表类的方法   — java.lang.reflect.Array;  提供了动态创建数组,以及访问数组的元素的静态方法 注意:java中无论生成某个类的多少对象, 这些对象都会对应于同一个Class对象。 方法介绍 方法关键字 含义 getDeclaredMethods () 获取所有的方法

类加载器、反射

杀马特。学长 韩版系。学妹 提交于 2019-12-17 10:32:26
第1章 类加载器 当你的文件编译的时候会产生class文件,当运行文件的时候class文件会被加载到方法与数据共享区,这个时候,当一进入方法与数据共享区的时候会由 类的加载器 负责在堆里面创建一个对象(字节码文件对象) New的是和这个不一样的,new可以new很多个,但是字节码文件对象我们控制不了,是又累的加载器创建的( 只创建一个 ) 静态同步方法中的锁对象是 类名.class ,因为他优先于静态 1.1 类的加载 l 加载 就是指将class文件读入内存,并为之创建一个Class对象。( 文件字节码 ) 任何类被使用时系统都会建立一个Class对象 l 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值(静态初始化) 解析 将类的二进制数据中的符号引用替换为直接引用( int a=1/a是符号引用,1是直接引用 ) l 初始化 就是我们以前讲过的初始化步骤 1.2 类初始化时机 1. 创建类的实例( new一个类的对象的时候 ) 2. 类的静态变量,或者为静态变量赋值( 访问某个类的静态变量或者给他赋值的时候 ) 这个时候Demo01进内存,Math也进内存,并且创建字节码文件对象( 访问静态 ) 3. 类的静态方法( 只要用到类的静态变量就进内存 ) 4. 使用反射方式来强制创建某个类或接口对应的java.lang

Java反射机制中常用的类

邮差的信 提交于 2019-12-17 10:28:02
Java反射机制中常用的类 (1)Class类:用于保存运行时信息的类,可以创建想要代表类的对象 1-1创建Class类的三种方法: ①使用Class类内部定义的一个static方法取得Class类对象(主要使用)Class.forName(“com.aprsource.reflect.demo.Cat”); ②使用”类.class”取得Cat.class ③通过Object类的getClass()方法即通过指定对象取得Cat cat = new Cat();cat.getClass() 1-2通过指定对象来获取类的信息 ①获取类访问修饰符信息:classx.getModifiers() ②获取包名信息:classx.getPackage().getName() ③获取类名信息:classx.getName() 1-3通过Class对象获取构造方法 ①获取所有的public修饰的构造方法classx.getConstructors() ②获取所有的的构造方法classx.getDeclaredConstructors() ③获取指定public修饰的构造方法classx.getConstructor(构造方法的参数类型信息) ④获取指定任意的构造方法classx.getDeclaredConstructor(构造方法的参数类型信息) 1-4通过Class对象获取普通方法

Java 方法

ぃ、小莉子 提交于 2019-12-17 06:22:06
---恢复内容开始--- 1、 方法的命名规则 1. 方法的名字的第一个单词应以小写字母作为开头 , 后面的单词则用大写字母开头写,不使用连接符 。例如: addPerson。 2.下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是: test<MethodUnderTest>_<state>,例如 testPop_emptyStack。 2、方法的定义 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; } 方法包含一个方法头和一个方法体。下面是一个方法的所有部分: 修饰符: 修饰符,这是可选的,告诉编译器如何调用该方法。 定义了该方法的访问类型 。 返回值类型 : 方法可能会返回值。 returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字 void 。 方法名: 是方法的实际名称。方法名和参数表共同构成方法签名。 参数类型: 参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的 参数类型 、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。 方法体: 方法体包含具体的语句,定义该方法的功能。 如: public

面向对象——普通方法及构造方法及带参方法和方法重载

时光怂恿深爱的人放手 提交于 2019-12-17 06:19:30
普通方法    类的方法是为了完成某个特定的应用程序功能存在的,我们要实现程序的某些功能的时候,一般都是某些类的功能,比如上一篇中的学生类,有一个展示学生信息的方法,我们就可以把它放到学生类里面(因为只要是学生,他就都有这个展示信息的功能),而方法是有返回值的,也可以没有返回值,返回类型为void。有返回值的时候,方法最后必须return 返回值。如: //这是一个show方法,只是输出hello,返回值为voidpublic void show(){ System.out.print("hello"); }    //这个show方法一样可以输出hello,但是他返回类型是String,所以必须return 一个String类型的东西,不一定是s,只要是String类型的就可以,比如return ""; 一样可以执行,但是测试输出的时候,输出的不是hello,因为return返回什么,就给什么。public String show(){ String s="hello" return s; } 构造方法和带参构造方法    每一个类都会默认有一个无参的构造方法,构造方法的方法名是和类型一致的, 构造方法是缺少返回值 的,如: //Student类的默认无参构造方法Student()public class Student{ public Student(){ } }  

黑马Java就业班学习day01

孤街醉人 提交于 2019-12-17 06:06:31
. 继承 1.1 继承的实现(掌握) 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法 实现继承的格式 继承通过extends实现 格式:class 子类 extends 父类 { } 举例:class Dog extends Animal { } 继承带来的好处 继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。 示例代码 public class Fu { public void show() { System.out.println(“show方法被调用”); } } public class Zi extends Fu { public void method() { System.out.println(“method方法被调用”); } } public class Demo { public static void main(String[] args) { //创建对象,调用方法 Fu f = new Fu(); f.show(); ​ Zi z = new Zi(); z.method(); z.show(); } } 1.2 继承的好处和弊端(理解) 继承好处 提高了代码的复用性(多个类相同的成员可以放到同一个类中) 提高了代码的维护性

JavaSE第九天总结笔记

 ̄綄美尐妖づ 提交于 2019-12-17 04:25:38
第九天总结笔记 每日一结,方便回顾学习 final关键字、多态、抽象类、接口 final关键字(掌握)、多态(掌握)、抽象类(掌握)、接口(掌握)。 final关键字 (1)是最终的意思,可以修饰类、方法、变量。 (2)特点 A: 它修饰的类不能被继承 B: 它修饰的方法不能被重写 C: 它修饰的变量是一个常量 (3)面试相关: A:局部变量 基本类型 值不能发生改变 引用类型 地址值不能发生改变但是对象的内容是可以改变的 B:初始化时机 只能初始化一次 常见的给值 定义的时候(推荐);构造方法中 多态 (1) 同一个对象在不同时刻体现出来的不同状态。 (2) 多态的前提 有继承或者实现关系 有方法重写 有父类或者父接口引用指向子类对象 (3) 多态的分类 具体类多态 class Fu { } class Zi extends Fu { } Fu f = new Zi (); 抽象类多态 abstract class Fu { } class Zi extends Fu { } Fu f = new Zi (); 接口多态 interface Fu { } class Zi implements Fu { } Fu f = new Zi (); (4) 多态中的成员访问特点 A:成员变量 编译看左边,运行看左边 B:构造方法 子类的构造都会默认访问父类构造 C:成员方法 编译看左边

java方法的一些注意事项

别等时光非礼了梦想. 提交于 2019-12-17 01:19:34
一,java构造方法 1.java构造方法执行的时候首先执行父类的构造方法 2.一个构造方法引用其他构造方法,可以使用this,并且位于构造方法中的第一句。 3.this不能用于static方法中,this指的是当前对象。 二,普通方法 1.普通方法中传递基本类型,传递的是基本类型值的copy副本,传递引用类型的时候,也是引用类型值的副本,但是副本指向同一个地址,所以引用类型的值改变的时候,原来的值也会改变,但是有一种例外,如 User u = new User(); test(User u){u = new User()},假如原来的u地址是123, 调用方法后,新建的对象的地址是124,新的地址会把地址值给u,此时124的值改变不会影响123的值。 来源: https://www.cnblogs.com/Chaos1973-newWorld/p/11975224.html

this关键字

白昼怎懂夜的黑 提交于 2019-12-16 22:37:48
在java中,this关键字   它在方法内部使用时,表示这个方法所属的类;   它在构造方法内部使用时,表示该构造方法所属的类; this表示当前对象,可以调用类的属性、方法和构造方法。 什么时候使用this关键字呢?   当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表示该变量是类成员。   在任意方法内,如果使用当前类的成员变量或成员方法可以在其前添加this,增强程序阅读性。   this可以作为一个类中,构造方法相互调用的特殊格式。     使用this必须放在构造方法首行。     使用this调用本类中其他的构造方法,保证至少有一个构造方法不使用this的。就是不允许构造方法自己调用自己。 来源: https://www.cnblogs.com/fangfangfanga/p/12051624.html

18-NioEventLoop实例化过程

谁都会走 提交于 2019-12-16 22:24:33
文章目录 NioEventLoop实例化过程 一、构造方法 1.1 NioEventLoop 1.2 SingleThreadEventLoop 1.3 SingleThreadEventExecutor 1.4 AbstractEventExecutor 二、EventLoop 与 Channel 的关联 2.1 Channel注册到EventLoop 2.2 EventLoopGroup注册Channel 三、EventLoop启动 3.1 SingleThreadEventExecutor#startThread 3.2 NioEventLoop#run 四、小结 NioEventLoop实例化过程 本文集合代码流程来分析 NioEventLoop 的实例化过程 开篇我们牢记 NioEventLoop 的两个功能: 1.处理IO事件;执行与 Channel 相关的 IO 操作, 包括调用 select 等待就绪的 IO 事件、读写数据与数 据的处理等; 2.执行提交的任务;作为任务队列, 执行 taskQueue 中的任务, 例如用户调用 eventLoop.schedule 提 交的定时任务也是这个线程执行的; 一、构造方法 实例化自然离不开构造方法,不管是我们直接构造对象还是框架内部去构造对象都会走构造方法,因为NioEventLoop 是一个最底层的实现类