`
tianlihu
  • 浏览: 310967 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

私有构造函数产生对象

阅读更多
原文链接
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

public class AccessHello {
	public static void main(String[] args) throws Exception {
		Class<?> c = Class.forName("jbbtlh.jbb.tlh.reflect.Hello");
		Constructor<?>[] con = c.getDeclaredConstructors();
		con[0].setAccessible(true);
		Object obj = con[0].newInstance();
		Method method = c.getDeclaredMethod("f");
		method.invoke(obj);
	}
}

class Hello {
	private Hello() {
	}

	public void f() {
		System.out.println("******");
	}
}




分享到:
评论

相关推荐

    C++私有构造函数的作用

     当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也是说它不属于class对象本身的调用,假如构造函数是私有的,由于在class外部不允许访问私有成员,所以这将导致...

    按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)

     带缺省值的构造函数 Rectangle(double a=0,double b=0, double c=0, double d=0),对矩 形的左下角坐标和右上角坐标进行初始化,若未赋初值,则矩形的左下角坐标和右上角 坐标都采用缺省值 0;  函数 ...

    C++编程思想习题

    目 录 译者序 前言 第1章 对象的演化 1.1基本概念 1.1.1对象:特性十行为 1.1.2继承:类型关系 1.1.3多态性 1.1.4操作概念:OOP程序像什么 1.2为什么C++会成功 1.2.1较好的C ...附录C 模拟虚构造函数

    零起点学通C++多媒体范例教学代码

    11.10.2 通过构造函数将变量转换为一个对象的成员变量 11.10.3 通过operator关键字进行转换 11.11什么可以重载,什么不可以重载 第12章 继承 12.1 什么是继承和派生 12.1.1 复杂的继承和派生 12.1.2 继承和派生如何...

    零起点学通C++学习_多媒体范例教学代码

    11.10.2 通过构造函数将变量转换为一个对象的成员变量 11.10.3 通过operator关键字进行转换 11.11什么可以重载,什么不可以重载 第12章 继承 12.1 什么是继承和派生 12.1.1 复杂的继承和派生 12.1.2 继承和...

    c.c++找工作面试重点结构图-mindmanager

    但仅仅用建立对象的最远派生类的构造函数调用虚基类的构造函数,而该派生类的所有基类中列出的对虚基类的构造函数的调用在执行中被忽略,从而保证对虚基类子对象只初始化一次。 (7) 在一个成员初始化列表中同时出现...

    新手学习C++入门资料

    这种情况多出现在用一个通用的函数指针调用多个函数的场合,其中有些函数不需要函数指针声明中的所有参数。看下面的例子: int fun(int x,int y) { return x*2; } 尽管这样的用法是正确的,但大多数C和C++的...

    leetcode下载-lc_cpp:记录在406用cpp实现leetcode中的题目

    leetcode下载 lc_cpp 记录在406用cpp实现leetcode中的题目。 后面是C++学习笔记 引用 -- 别名 也是指针 内联函数(inline) 函数被反复调用,调用函数产生的开销较大 ...对象生成时构造函数自动调用。对象生

    PHP 面向对象技术(全面讲解).txt

    共有3 次new Person(),所以会在堆里面开辟3 个空间,产生3 个实例对象,每个对象之间都是相 互独立的,使用自己的空间,在PHP 里面,只要有一个new 这个关键字出现就会实例化出来一个对 象,在堆里面开辟一块自己的...

    C与C++中的异常处理,c++异常处理语句,C,C++

    4 1. 异常和标准C 对它的支持 2. Microsoft 对异常处理方法的扩展 3. 标准C++异常处理的基本语法和语义 4. 实例剖析 5. C++的new 和delete 操作时的异常处理 6.... 从私有子对象中产生的异常

    Javascript之面向对象–封装

    第三步:创建一个构造函数,即实例时候,对产生的新象的一个初始化,例如属性,方法的初始化;在这个例子中,每一个手机都会有颜色,大小,价格属性.这里的构造函数也是一个闭包,所以可以访问count,并且count的值会...

    C++复习资料之系列

    ( c ) 可以在程序的任何地方 (d) 必须在其它函数中间 2.用C++语言编制的源程序要变为目标程序必须要经过( d )。 (a) 解释 (b) 汇编 (c) 编辑 (d) 编译 3.C++程序基本单位是( c )。 (a) 数据 (b) 字符 (c) ...

    C和C++中的异常处理

    1.异常和标准 C 对它的...10. 从私有子对象中产生的异常 11. 异常规格申明 12. unexpected()的实现上固有的限制 13. 异常安全 14. 模板安全 15. 模板安全(续) 16. 指导方针 17. C++异常和 Visual C++ SEH 的混合使用

    .NET c# 单体模式(Singleton)

    创建一个单体模式类,必须符合三个条件: 1:私有构造函数(防止其他对象创建实例); 2:一个单体类型的私有变量; 3:静态全局获取接口 下面我写一个类,为了看是不是单体,就加了一个计数器,如果是同一个类,...

    Javascript 面向对象(二)封装代码

    //代表手机的数量 })() 第三步:创建一个构造函数,即实例时候,对产生的新象的一个初始化,例如属性,方法的初始化;在这个例子中,每一个手机都会有颜色,大小,价格属性.这里的构造函数也是一个闭包,所以可以...

    【05-面向对象(下)】

    Lambda表达式来创建对象,该表达式创建出来的对象的目标类型就是这个函数式接口。 •Lambda表达式有如下两个限制:  –Lambda表达式的目标类型必须是明确的函数式接口。  –Lambda表达式只能为函数式接口...

    MFC的程序框架剖析

    对于一个全局对象来说,此时就会调用该对象的构造函数,构造该对象,并进行初始化操作 8、实例句柄与全局对象 (1)对于Win32 SDK程序,应用程序的实例是由实例句柄(WinMain函数的hInstance参数)来标识的 (2)对于MFC...

    C#语言参考,微软的基础教程

    10.10.5 私有构造函数 79 10.10.6 可选的构造函数参数 79 10.11 析构函数 79 10.12 静态构造函数 79 10.12.1 类加载和初始化 79 11. 结构 79 11.1 结构声明 79 11.1.1 结构修饰符 79 11.1.2 接口 79 11.1.3 结构体 ...

    C#语言参考C#语言参考

    10.10.5 私有构造函数 213 10.10.6 可选的构造函数参数 213 10.11 析构函数 213 10.12 静态构造函数 214 10.12.1 类加载和初始化 215 11. 结构 217 11.1 结构声明 217 11.1.1 结构修饰符 217 11.1.2 接口 217 11.1.3...

    C#语言规范(4.0版本)

    1.6.7.1 构造函数 22 1.6.7.2 属性 23 1.6.7.3 索引器 23 1.6.7.4 事件 23 1.6.7.5 运算符 24 1.6.7.6 析构函数 25 1.7 结构 25 1.8 数组 26 1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 ...

Global site tag (gtag.js) - Google Analytics