`
tianlihu
  • 浏览: 314056 次
  • 性别: 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外部不允许访问私有成员,所以这将导致...

    Java中对象的生命周期 ..doc

    - 私有构造函数只允许在当前类中使用,通常用于实现单例模式或其他设计模式。 #### 六、结论 理解Java中对象的生命周期对于编写高效、可靠的代码非常重要。通过对对象创建、初始化和销毁过程的了解,我们可以更好...

    C++类和对象期末重点.doc

    如果编程者在定义类时没有定义拷贝构造函数,则系统自动产生一个拷贝构造函数,称为缺省拷贝构造函数。 静态成员 ------------- 静态成员是类的特殊成员,用于共享类的所有对象的数据成员。静态成员可以是静态数据...

    C++类继承之子类调用父类的构造函数的实例详解

    在C++中,如果子类没有显式地调用父类的构造函数,编译器会自动调用父类的默认构造函数(如果没有提供默认构造函数,则编译器会产生错误)。因此,为了在子类中初始化父类的特定构造函数,必须显式地进行调用。 类...

    c++题库面向 对象

    16. 基类的静态成员(static members)和私有构造函数(private constructors)不能被派生类继承。 17. 类temp的复制构造函数的原型声明语句通常是 `temp(const temp &other);` 18. 设置友元函数的目的是为了使非...

    C++经典面试题 附带参考答案.docx

    C++编译器自动为类产生的四个缺省函数是默认构造函数,拷贝构造函数,析构函数,赋值函数。 构造函数与普通函数相比在形式上有所不同,构造函数是一种特殊成员函数,一般情况下,它是专门用来初始化对象成员变量的...

    C/C++面试题:编写类String的构造、析构和赋值函数

    拷贝构造函数是类的特殊成员函数,用来初始化类的对象,并将另一个对象的内容拷贝到当前对象中。拷贝构造函数的名称与类名相同,没有返回值。拷贝构造函数的作用是将另一个对象的内容拷贝到当前对象中。 在上面的...

    c++面向对象程序设计模拟试题一

    - **解析**:拷贝构造函数通常接受一个已经存在的对象作为参数,用于创建新的对象。 5. **用关键字static修饰的类的成员称为(静态)成员**: - **正确答案**:`静态` - **解析**:使用`static`关键字修饰的成员...

    C++笔试题题目

    7. **C++编译器自动产生的缺省函数**:默认构造函数、拷贝构造函数、析构函数和赋值运算符。这些函数提供了对象的基本生命周期管理和复制行为。 8. **拷贝构造函数的调用时机**:拷贝构造函数在对象初始化、函数...

    C++程序员面试题集

    知识点:静态函数存在的意义是提供一种访问私有成员和私有构造函数的方式。 15. 在类外有什么办法可以访问类的非公有成员? 答:友元,继承,公有成员函数。 知识点:在类外可以通过友元、继承和公有成员函数来...

    面向对象程序设计复习题专科.pdf

    3. 拷贝构造函数:拷贝构造函数是类的一个特殊构造函数,用于创建一个对象的新副本。其声明通常为 `ClassName(const ClassName &obj)`,选项 C 是正确的。 4. 重载运算符:重载运算符可以改变操作数个数、操作内容...

    C++比较不错的总结知识

    7. **默认构造函数、拷贝构造函数、析构函数、赋值函数**:这些都是C++中自动产生的缺省函数,用于对象的创建、复制、销毁和赋值操作。 8. **拷贝构造函数的调用场景**:拷贝构造函数在对象初始化、函数参数传递、...

    深入理解c++11 pdf

    通过`using Base::Base`,`Derived`类隐式声明了所有`Base`类的构造函数,这样在创建`Derived`对象时,可以直接调用`Base`的构造函数,简化了代码。 然而,这种继承构造函数的方式并非没有限制。如果基类的构造函数...

    C++经典面试题全集

    14. 静态成员函数的作用在于提供对类的静态成员的访问,以及在某些特定情况下(如私有构造函数)作为类的唯一入口点。 15. 访问类的非公有成员可以通过友元函数、继承和公有成员函数来实现。 16. 抽象类是一种不...

    C++面向对象程序设计习题继承与派生.pdf

    "C++面向对象程序设计习题继承与派生.pdf" 继承是面向对象程序设计中的一种重要机制,它...在C++中,虚基类成员的初始化顺序是在派生类构造函数的成员初始化列表中出现的虚基类构造函数先于非虚基类构造函数的调用。

    C++学习的第二章

    C++编译器在某些情况下会自动产生默认的构造函数、拷贝构造函数和析构函数,如果程序员没有显式地定义它们。这些默认函数通常执行基本的操作,如对象的浅拷贝或简单的内存释放。 ### 友元 友元是C++中的一个特性,...

    C++程序设计与实践:07-第6章 深入类和对象.ppt

    禁止复制是指在类中声明一个私有的复制构造函数,但不提供定义,以阻止类对象的复制。 3. 对象的三种创建方法 对象的三种创建方法包括命名的自动对象、匿名的自动对象和动态对象。命名的自动对象是在函数内部定义...

    Object Oriented Programming Using C#(c#面向对象编程基础)

    私有构造函数不允许从外部直接创建类的实例。通常用于单例模式或防止不必要的实例化。例如: ```csharp private FLOWER() { } ``` #### 构造函数链 (Constructor Chaining) 构造函数链允许在一个构造函数中调用另...

    java面向对象面试题

    如果父类没有无参构造函数或此构造函数被私有化,那么必须显式地使用 `super(参数列表)` 来调用有参数的构造函数。 - **this()**:在同一个类的不同构造函数中,`this()` 用于调用同一个类中的另一个构造函数。这...

Global site tag (gtag.js) - Google Analytics