黑马程序员_基础加强_对接收数组参数的成员方法进行反射

1、概念

2、方法

       2.1本章方法

       2.2复习方法

       2.3新方法

             I  Scanner类中的方法   next(),nextInt(),nextDouble()

             II

3、代码

       3.1、

4、扩展

       4.1  问:数组可不可以不定义长度?

                答:1、声明数组 一个数组type[] typeName,这时不用定义数组的长度

	       但是,初始化就必须设定长度,如int[] arr = new int[10]; 
               这时只能改变数组里的值,而不能改变其长度。
	    2、但有一种方法可以实现数组可变长度: int num;int[] a=new int[num] 
    4.2 读取键盘的两种方式
	       i、使用扫描仪Scanner。
	   1:导包  java.util.Scanner;
	   2:建立扫描仪对象  Scanner Scanner'name = new Scanner(System.in);
	   3:接收键盘录入  
                             整型:int i = Scanner'name.nextInt();
                             双精度:double dou = Scanner'name.nextDouble();
                             字符串:String str = Scanner'name.nex()
	   4:关闭流   Scanner'name.close();
	       ii、BufferedReader bufr = new BufferedReader (new InputStreamReader(System.in));
		     String line = null;
                     line = bufr.readLine();  
	             MARK:需要复习
	4.3  java继承时构造方法的调用
		子类创建实例对象时,必先调用父类的构造函数,
		情况1:父类没有无参构造函数,这时子类在实例化对象时,必先显式调用父类的构造函数,
                               方法: 在子类的构造函数方法体开头,加入语句super(parameter), 
                                            子类的构造函数参数列表没有限制。
		情况2:父类没有无参构造函数,这时如果可能,我们可以为父类加入无参构造函数。
		情况3:父类有私有的无参构造函数,编译不通过。
	4.4 Array 类和Arrays区别
		Array是java.lang.reflect包中的类,它没有toString方法
		Arrays是java.util包中的类它有toString(数组类型的参数)方法,这个方法可以形象显示数组
	4.5 加标记的方法:flag: 语句    break flag;
	4.6 JVM是先把switch(i)中选择表达式的值i与各个case对应执行,
       然后才会执行default,不论default在case前还是case后.
    4.7 主函数中调用本类中的方法时,这个方法要是静态的才可以。
    4.8 数组的可变参数 returnType methodName(参数列表);	
	//可变参数
class VariableParameter_ForStarNum {
	//只用可变参数传入单一类型
	static void add_1(int... arr){
		for(int i:arr){
			System.out.println("这是方法add_3中传入的整型数组中的元素:"+i);
		}			
	}
	//要实现方法1的效果,我们也可以不用可变参数,直接传入数组,但我们需要在调用方法时传入数组对象
	static void add_2(int[] arr){
		for(int i:arr){
			System.out.println("这是方法add_2()中传入的整型数组中的元素:"+i);
		}
	}			

	//传入不同类型
	static void add_3(boolean boo,int...arr){
		System.out.println("方法add_3中传入的变量boo:"+boo);
		for(int i:arr){
			System.out.println("这是方法add_3中传入的整型数组中的元素:"+i);	
		}
	}
	//传入多种类型参数
	static int add_4(Object... objs){  
	    System.out.println(objs[0]);  
	    System.out.println(objs[1]);  
	    System.out.println("add_4;arr.length:"+((int[])objs[2]).length);  
	    for(int i=0;i<((int[])objs[2]).length;i++)  //要强制转换
	        System.out.println("add_4;arr:"+((int[])objs[2])[i]);  
	    return 0 ;                    
	}  
	public static void main(String[] args) {
		add_1(1,2,3,4);
		add_2(new int[]{1,2,3,4});
		add_3(true,1,2,3,4);
		
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值