1.对象包装器 有时候,需要将int这样的基本类型转换为对象.所有的基本类型都有一个与之对应的类.通常,这些类被称为包装器(wrapper). 这些对象包装类分别是:Integer.Long.Float.Double.Short.Byte.Character.Void和Boolean. 对象包装类是不可变的,即一旦构造了包装器,就不允许更改包装在其中的值.同时,对象包装器类还是final,因此不能定义它们的子类. 例如:如果想定义已给整型数组列表,但是尖括号中的类型参数不允许是基本类型,即不允许…
char a = 'h';  //类包装器 Character aobj = a ;//自动装箱 byte b = 6; Byte bobj = b; short s = 234; Short sobj = s; boolean b = true; Boolean bobj = b; int i = 100; Integer iobj = i; long l = 567L; Long lobj = l; float f = 8.99F; Float fobj = f; double d = 4.…
首先封装一个基本数据类型int, class P{ private int number; //封装一个私有的->基本数据类型 public P(){} public P(int number){this.number=number;} public int getNumber(){return this.number;} } 测试我们的封装 public class Ert { public static void main(String[] args) { int in=3; P p=new…
Java 基础 基础数据类型与包装器类型 基础数据类型 java 中包含哪些基础数据类型,默认值分别是多少? 基础数据类型 byte short int long double float char boolean 默认值 0 0 0 0l 0.0 0.0f null false 基础数据在 JVM 中的存储模型 Java 中的基础模型因为其长度可知.生命周期(存活时间)可知,为了追求速度,基础数据都是存放在栈中的.另外栈有一个特点,就是栈中的数据可以共享. 例如: // int a = 3;…
Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 构造方法中其实还有一句return;对应返回值中的void 子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数的构造函数. (因为是继承父类的属性,肯定要父类属性完成初始化再是子类这边的初始化.) 说明: 其实只要记住子类构造函数中默认有一句super();即可,所以当父类为有参…
[C++11多态函数对象包装器] 针对函数对象的多态包装器(又称多态函数对象包装器)在语义和语法上和函数指针相似,但不像函数指针那么狭隘.只要能被调用,且其参数能与包装器兼容的都能以多态函数对象包装器称之(函数指针,成员函数指针或仿函数). 通过以下例子,我们可以了解多态函数对象包装器的特性: 模板类 function 将定义在头文件 <functional> 参考:http://zh.wikipedia.org/wiki/C++0x#.E5.A4.9A.E6.80.81.E5.87.BD.E…
引言   本文将介绍常量池 与 装箱拆箱机制,之所以将两者合在一起介绍,是因为网上不少文章在谈到常量池时,将包装类的缓存机制,java常量池,不加区别地混在一起讨论,更有甚者完全将这两者视为一个整体,给初学者带来不少困扰,我就是过来的.同时,也因为包装类的缓存 与 字符串常量池的思想是一样的,很容易混淆,但是实现方式是不一样的. 一.常量池 在介绍常量池前,先来介绍一下常量.字面常量.符号常量的定义. 常量 可分为 字面常量(也称为直接常量)和 符号常量. 字面常量: 是指在程序中无需预先定义就…
类加载器负责将.class文件加载到内存,并为其创建java.lang.Class对象,这个对象就代表这个类. 在Java中,通过包名+类名来唯一标识一个类,而在JVM中,要用 类加载器实例+包名+类名 来唯一标识一个类. 可见JVM中是不止一种类加载器的. 在JVM中,类加载器是成层次结构的, 这种层次结构自上而下分别是根类加载器(BootstrapLoader),扩展类加载器(extensionLoader)和系统类加载器(systemLoader)还有用户自定义类加载器 根类加载器(Boo…
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象,车,狗,人等等.所有这些对象都有自己的状态和行…
语义: 类模板std::function是可调用对象的包装器,可以包装除了类成员之外的所有可调用对象.包括,普通函数,函数指针,lambda,仿函数.通过指定的模板参数,它可以用统一的方式保存,并延迟执行它们.所谓的延迟执行,就是回调了. 它使得C++对C的兼容性更强了. 常规多态案例: #include <iostream> #include <functional> using namespace std; class Operator { public: ; }; class…