exception-关于getConstructors()跑出数组异常的问题

问题描述

关于getConstructors()跑出数组异常的问题

package StudyOne;

import java.lang.reflect.Constructor;

class students{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "我的名字叫"+this.name+"今年"+this.age+"岁";

}
}

public class BeansOne {
public static void main(String[] args) throws Exception{
Class clazz=Class.forName("StudyOne.students");
Constructor cons[]=clazz.getConstructors();
students s=(students) cons[0].newInstance("张三",30);
System.out.println(s);
}
}
执行后会抛出一个Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0的异常。

解决方案

  1. package StudyOne ----Java的包名是小写的,类似package java.util;
    2.class students-----Java的类名是大写的
    3.加一个构造函数

下面是可以运行的:

package com.eei.common;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

/**

  • Created by luoqi on 2016/3/14.
    */
    public class Student {

    private String name;
    private int age;

    public Student(String name,int age){
    this.age = age;
    this.name = name;
    }

    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    public String getName() {

    return name;
    

    }

    public void setName(String name) {
    this.name = name;
    }

    public String toString() {
    return "我的名字叫" + this.name + "今年" + this.age + "岁";
    }

    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InvocationTargetException, InstantiationException {
    Class clazz=Class.forName("com.eei.common.Student");
    Constructor cons[]=clazz.getConstructors();
    Student s=(Student) cons[0].newInstance("张三",30);
    System.out.println(s);
    }
    }

解决方案二:

这是一个数组下标异常,我想知道他为什么会出现一个 数组下标异常。

时间: 2024-12-21 19:45:24

exception-关于getConstructors()跑出数组异常的问题的相关文章

java异常中Exception捕获不到的异常

一 概念 众所周知java提供了丰富的异常类,这些异常类之间有严格的集成关系,分类为 父类Throwable Throwable的两个子类Error和Exception Exception的两个子类CheckedException和RuntimeException   二 发现问题 通常捕获异常catch的时候最大catch到Exception这个类就为止了,当然这能够处理大部分的异常情况. 但是值得注意的是,Exception不能捕捉到所有的异常.比如InvocationTargetExcep

html-CSS中,line-height与font-size关系

问题描述 CSS中,line-height与font-size关系 如果font-size大于line-height会怎么显示,这幅图该怎么理解 解决方案 font-size大于line-height会溢出容器显示,如果容器增加overflow:hidden就会隐藏溢出的内容 <div style="font-size:20px;line-height:12px">abb</div> <div style="font-size:20px;line

Java异常--其他概念—throw、throws、Exception、RuntimeException、断言

1.throws关键字 假设定义一个除法的方法div(),对于除法来说:有可能出现异常,有可能不出现异常.所以对于这样的方法来说,最好使用throws关键字进行声明.一旦出现了异常,则交给调用处处理. 因为div()方法使用了throws关键字声明.所以调用此方法的时候,必须进行异常处理. class Math{ public int div(int i,int j) throws Exception{ // 定义除法操作,如果有异常,则交给被调用处处理 int temp = i / j ; /

Exception 异常

java.lang.Throwable 是所有错误和异常的父类.只有它(或它的子类)的实例才可以被JVM抛出. Throwable对象派生出两种类型:Error和Exception,前者用来表示编译时和系统错误,程序员往往不必关心:后者是可以被抛出的基本类型,需要程序员关注. 1.try与catch try{ //code that might generate exceptions }catch(Type1 id1){ //Handle exception of Type1 }catch(Ty

缺省构造函数不能处理隐式超构造函数抛出的异常类型 IOException。必须定义显式构造函数

问题描述 缺省构造函数不能处理隐式超构造函数抛出的异常类型 IOException.必须定义显式构造函数 int lastnum = getNum(source.getProperty(""fileName"")); public static int getNum(String Filename) throws IOException { InputStream myxls; myxls = new FileInputStream(Filename); sr =

JAVA【异常一】异常体系

一.什么是异常 异常:程序在运行过程中发生由于硬件设备问题.软件设计错误等导致的程序异常事件.(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象.      --百度百科 二.异常体系        Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类. 在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception.   其中异常类Exception又分为运行时异常(Ru

Java异常分类

一.基本概念 看java的异常结构图   Throwable是所有异常的根,java.lang.Throwable Error是错误,java.lang.Error Exception是异常,java.lang.Exception     二.Exception 一般分为Checked异常和Runtime异常,所有RuntimeException类及其子类的实例被称为Runtime异常,不属于该范畴的异常则被称为CheckedException. ①Checked异常 只有java语言提供了Ch

Java异常

在我参与过的一些Java项目.或者阅读过Java代码中,异常的使用或多或少都有点问题,有些甚至是误用.可能很多人都了解异常的基本知识,但是使用的时候往往过于随意,然而这样的随意往往并不能造成什么严重的问题,所以很多程序员,尤其是初级的程序员也就没有在意它,于是代码中总是会有那些让人不舒服的异常使用代码:另一方面,Java异常类型中包括Checked Exception(Runtime Exception)和Unchecked Exception,这两中异常的使用也颇具争议. 基于上述问题,总结一

Findbugs异常总汇

FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查.没有合理关闭资源.字符串相同判断错(==,而不是equals)等 一.Security 关于代码安全性防护 1.Dm: Hardcoded constant database password (DMI_CONSTANT_DB_PASSWORD) 代码中创建DB的密码时采用了写死的密码. 2.Dm