• Java 源码 Constructor 类


    构造函数(Constructor)在对象创建或者实例化时候被调用的方法。通常使用该方法来初始化数据成员和所需资源。

    源码

    package java.lang.reflect;
    /**
     * 构造方法类。
     */
    public final class Constructor<T> extends Executable {
        /**
         * 返回包含此构造方法的类。
         */
        @Override
        public Class<T> getDeclaringClass() {
            return clazz;
        }
    
        /**
         * 构造方法名。
         */
        @Override
        public String getName() {
            return getDeclaringClass().getName();
        }
    
        /**
         * 修饰符。
         */
        @Override
        public int getModifiers() {
            return modifiers;
        }
    
        /**
         * 获取参数类型。
         */
        @Override
        public Class<?>[] getParameterTypes() {
            return parameterTypes.clone();
        }
    
        /**
         * 获取异常。
         */
        @Override
        public Class<?>[] getExceptionTypes() {
            return exceptionTypes.clone();
        }
    
        /**
         * 初始化一个新对象。
         */
        @CallerSensitive
        public T newInstance(Object ... initargs)throws Exception {
            if ((clazz.getModifiers() & Modifier.ENUM) != 0)
                throw new IllegalArgumentException("Cannot reflectively create enum objects");
            ConstructorAccessor ca = constructorAccessor;
            if (ca == null) {
                ca = acquireConstructorAccessor();
            }
            @SuppressWarnings("unchecked")
            T inst = (T) ca.newInstance(initargs);
            return inst;
        }
    
        /**
         * 获取注解。
         */
        public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
            return super.getAnnotation(annotationClass);
        }
    
        /**
         * 获取参数上的注解。
         */
        @Override
        public Annotation[][] getParameterAnnotations() {
            return sharedGetParameterAnnotations(parameterTypes, parameterAnnotations);
        }
    }
    
  • 相关阅读:
    python gevent(协程模块)
    python基础之socket与socketserver
    python 使用 with open() as 读写文件
    Python logger模块
    python二维码操作:QRCode和MyQR入门
    常见的端口号及其用途
    python中hasattr()、getattr()、setattr()函数的使用
    mysql数据库自带数据库介绍
    关于BeautifulSoup4 解析器的说明
    学习opencv(1)
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/16436820.html
Copyright © 2020-2023  润新知