java默认构造器constructor

原创 2015年12月07日 17:16:14

1、如果类中不声明构造器(不论有参无参)的话,java会默认生成一个无参构造器,可以用getDeclaredConstructor()函数证明这个无参构造器是否存在。
如果类中已经声明了构造器的话,java就不会生成这个默认无参构造器了。
特别注意的是:默认构造器会自动获得与其所作的类一样的访问权限!!!

import java.lang.reflect.*;
class ComTest{}


public class ShowMethods{

        static final String usage =
        "usage:\n"+
        "ShowMethods qualified.class.name\n"+
        "To show all methods in class or:\n"+
        "ShowMethods qualified.class.name word\n"+
        "To search for mechods involving`word'";

        public static void main(String[] args){
                if(args.length<1){
                        System.out.println(usage);
                        System.exit(0);
                }
                try{
                        Class c=Class.forName(args[0]);
                        Method[] m = c.getDeclaredMethods();
                        Constructor[] ctor = c.getDeclaredConstructors();
                        if(args.length==1){
                                for( int i=0;i<m.length;i++)
                                        System.out.println("methods-->"+m[i].toString());

                                for(int i=0;i<ctor.length;i++)
                                        System.out.println("constructors-->"+ctor[i].toString());
                        }
                        else{
                                for(int i=0;i<m.length;i++)
                                        if(m[i].toString().indexOf(args[1])!=-1)
                                                System.out.println("methods-->"+m[i].toString());
                                for(int i=0;i<ctor.length;i++)
                                        if(ctor[i].toString().indexOf(args[1])!=-1)
                                                System.out.println("constructors"+ctor[i].toString());
                        }
                }catch(ClassNotFoundException e){
                        System.out.println("No Such class:"+e);
                }
        }
}

输出结果:

运行命令: java ShowMethods ComTest
执行结果:constructors–>ComTest()
运行命令 java ShowMethods ShowMethods
执行结果:methods–>public static void ShowMethods.main(java.lang.String[])
constructors–>public ShowMethods()

2、做个笔记:private只能修饰内部类

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java基础之构造器Constructor

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。 构造器用来确保每个对象都会得到初始化。当对象被创建时,如果该类具有构造器,java就会...

Java之构造器<constructor>

java之构造器(构造方法) 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化...
  • srd1900
  • srd1900
  • 2016年03月10日 14:57
  • 184

java中构造器(Constructor)

大部分内容转自:http://tech.it168.com/j/2006-05-18/200605181021879.shtml               构造器是一个创建对象时被自动调用的特殊方...

Guice 学习(二)构造器注入(Constructor Inject)

为了演示下面的支持多参数的构造函数注入,我在这里写了2个接口和其实现类。注意事项写在了程序注释里面。 1、接口 (interface)/* * Creation : 2015年6月30日 */ p...

spring框架setter注入和构造器constructor注入中的内部嵌套

先来看看两种注入方式的区别 1. 构造方法注入的XML之道 按照Spring的IoC容器配置格式,要通过构造方法注入方式,为当前业务对象注入其所依赖的对象, 需要使 用。正常情况下,如以下代...

黑马程序员——反射之Constructor构造器

----------------------    android培训    java培训   期待与您交流!    ----------------------                ...

javascript设计模式-Constructor(构造器)模式

Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法。Object构造器用于创建特定类型的对象–准备好对象以备使用,同事接收构造器可以使用参数,以在第一次创建对象时...

C#.NET常见问题(FAQ)-构造器constructor有什么用

所谓的构造器constructor,就是声明类的时候定义一个public 类名的方法,这个方法不需要传递任何数据,这样的话在声明任何类的实例的时候都会无条件执行里面的方法  析构器只在程...

构造器Constructor

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。 构造器用来确保每个对象都会得到初始化。当对象被创建时,如果该类具有构造器,java就会...

【学习】Javascript设计模式——Constructor构造器模式

前言在经典的面相对象语言编程中,Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法。在Javascript中,几乎所有东西都是对象,我们通常最感兴趣的是objec...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java默认构造器constructor
举报原因:
原因补充:

(最多只允许输入30个字)