java 对象变量 c++对象指针 java null引用 c++ null指针 Date deadline  是 对象变量,它可以引用Date类型的对象,但它不是一个对象,实际上它也没有引用对象. String s = new Date().toString();  //ok Date类有一个toString方法 String s = deadline.toString();  //not yet 编译错误 需要先初始化deadline,有2中方法 Date birthday = new Da…
android studio2.3.3 的版本中 Jni函数调用C++对象,对象调用相关的成员函数, lldb调试,变量跟踪窗口,this指针和相关变量显示无效的原因,但这些参数实际是有效的,只是debug lldb调试环境出错. 原因是模拟器选择  x86 架构的就会出现问题 模拟器选择arm 架构的 this指针就会正确显示,这个问题的原因还需要继续查找. 所以说尽量用真机调试,不要用模拟器来调试.…
1.首先能够用于lambda表达式的只能是interface,并且interface 中只有一个方法. 这就说明,只要找到接口类型就能确定用的是哪个方法.(如下:intTypeInterface.StringTypeInterface.paramInterface) 2.判断用的哪个接口,通过调用的方法就能确定(如:Test. invoke()) 这里有两种情况 #1.第一种 调用的方法名称唯一,没有重载(overload,方法同名,参数个数和类型不同) 这种情况下直接可以通过方法需要的参数类型…
1.在类定义对象的地方初始化 2.在类构造器中初始化 3.在正要使用这些对象之前,惰性初始化,或者叫惰性载入 4.使用实例初始化    在方法里使用初始化…
涉及关键词: 虚拟机运行时内存 java内存划分 类加载顺序  类加载时机  类加载步骤  对象初始化顺序  构造代码块顺序 构造方法 顺序 内存区域   java内存图  堆 方法区 虚拟机栈 本地方法栈 程序计数器  局部变量表   栈帧  java堆 运行时常量池   直接内存    本文从三个部分理解java的初始化 1).java虚拟机运行时的内存区域 2).类的加载过程 3).初始化过程   java虚拟机运行时内存空间区域分配  …
------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 可以理解面向对象就是面向工具,我可以使用这个工具做一些事情. 面向对象的特点: 是一种符合人们思考习惯的思想:可以将复杂的事情简单化:将程序员从执行者转换成了指挥者. 完成需求时: •  先要去找具有所需的功能的对象来用. •  如…
java是根据面向对象编程,因此有类和对象的概念,类分为普通类与抽象类. 一.定义类 类由N个 构造器  成员变量  方法组成,可以不定义,也可以根据语法定义N个. [修饰符] class 类名{ 构造器*N个 成员变量*N个 方法*N个 } 1.类的修饰符只能是public final abstract 三种之一,或者不修饰 ,类名一般大写开头,驼峰命名 (一).成员变量的定义 [修饰符] 数据类型  变量名 : [修饰符] 数据类型  变量名  = 默认值: 1.修饰符:  可以不写(默认)…
首先,什么是类的加载?类的加载由类加载器执行.该步骤将查找字节码(classpath指定目录),并从这些字节码中创建一个Class对象.Java虚拟机为每种类型管理一个独一无二的Class对象.也就是说,每个类(型)都有一个Class对象.一旦某个类的Class对象被载入到内存,他就被用来创建这个类的所有对象. 类的加载会发生在什么时候呢?所有的类都是在其第一次使用的时候,动态加载到JVM的.当程序创建第一个对类的静态成员的引用时,就会加载这个类.构造方法默认也是静态的,所以new的时候若该类未…
Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员被static修饰之后,多了一种访问方式,除了可以被对象调用之外还可以被雷鸣直接调用(类名.静态成员) static关键字,修饰变量,只保存最后一个值,立即改,立即用. static关键字是一个修饰符说白了意思就是用static修饰成员以后,这个成员就变成大家共有的了 ,任意一个对象可以调用它并且也…
有时遇到将数据传输对象转换成JSON串会将属性值为空的属性去掉,利用Java反射实现JavaBean对象数据传输对象的相同属性复制并初始化数据传输对象属性为空的属性,然后转换成JSON串 package com.banksteel.util; import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Arrays;import java.ut…