类:
public class Phone {
int price;
String brand;
private Phone(){
}
private Phone(int price,String brand){
this.price = price;
this.brand = brand;
}
@Override
public String toString() {
return price + "\t"+brand;
}
}
调用代码:
public class Test {
/*通过Constructor.newInstance()创建新的类示例*/
private void newInstanceByConstructor(){
try {
/*可以使用相对路径,同一个包中可以不用带包路径*/
Class c = Class.forName("com.yang.Phone");
/*以下调用无参的、私有构造函数*/
Constructor c0=c.getDeclaredConstructor();
c0.setAccessible(true);
Phone po=(Phone)c0.newInstance();
System.out.println("不带参的构造函数\t"+po);
/*以下调用带参的、私有构造函数*/
Constructor c1=c.getDeclaredConstructor(new Class[]{int.class,String.class});
c1.setAccessible(true);
Phone p1=(Phone)c1.newInstance(new Object[]{1,"诺基亚"});
System.out.println("带参的构造函数\t"+p1);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception{
Test b=new Test();
System.out.println("通过Constructor.newInstance()调用私有构造函数:");
b.newInstanceByConstructor();
}
结果显示:
通过Constructor.newInstance()调用私有构造函数:
不带参的构造函数 0 null
带参的构造函数 1 诺基亚
分享到:
相关推荐
DumpMethods.java 使用反射机制来获取类中的方法 getClassName.java 利用反射机制获取类的名字 invokeConstructor.java 利用反射机制调用构造器 invokeMethod.java 利用反射机制调用成员方法 listConstructors....
"分享一个在Java中反射获取私有构造函数、属性、方法" 我一直以为类的私有构造函数、属性、方法除了类自身其他类是无法访问的,前几天正好学习Spring框架,在学习Spring框架基础 Bean包时,写了一个简单的例子,类似...
"构造函数(constructor )在对象创建时初始化。 构造函数是和类同名的函数,没有返回类型,构造函数不能在普通的程序里面调用,只有当这个类被应用new实例化的时候才会被运行。构造函数没有返回类型,实际上,构造...
给定一个C语言函数,要求实现在java类中进行调用。 45.如何获得数组的长度? 46.访问修饰符“public/private/protected/缺省的修饰符”的使用 47.用关键字final修饰一个类或者方法时,有何意义? 48.掌握类和...
通过构造函数生成实例对象的特点:首字母大写,new运算符调用。同时私有的属性放在函数对象中,方法放在实例对象的原型下。 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过...
不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface)...
上面例子中,第一次调用show()函数时,让编译器自动提供函数原型中指定的所有默认参数,第二次调用提供了第一个参数,而让编译器提供剩下的两个,第三次调用则提供了前面两个参数,编译器只需提供最后一个,最后一...
不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface...
* @param Function `constructor` 类的构造体函数 * @param Object `prototype` 将会扩展到原型上的一组对象方法 * @param Function `parentConstructor` 要继承的父类,支持多继承(多继承情况下第一个出现的...
对象 JavaScript操作都是关于对象的。数组(Array)是对象,函数(Function)是对象。... 对象可以通过构造器(constructor)生成,构造器是个初始化对象的函数。构造器在这里扮演了其他语言中“类”扮演的角色,也提
10.4.1 构造器的调用流程及默认构造器 182 10.4.2 自定义构造器需要注意的问题 185 10.4.3 不能继承构造器 186 10.4.4 调用兄弟构造器 187 10.5 单列模式 189 10.6 Java程序的加载过程 190 10.7 小结 ...
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。...
抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。 41.构造器Constructor是否可被override? 答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被...
这个作业将让你去练习建立一些简单的类和使用C++的基本功能,包括:封装,引用,动态内存开辟, 简单构造函数和析构函数和const。 下面给的程序片段未经过编译或调试. 做出合理的错误修正是你任务的一部分。 一般的,...