黑马程序员JAVA高新技术(一)

本文详细介绍了Java和Android开发中的关键概念和技术,包括静态导入、可变参数、增强for循环、享元模式、枚举、反射等,并通过实例展示了如何在实际项目中应用这些技术,帮助开发者提高代码效率和质量。
摘要由CSDN通过智能技术生成

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

静态导入

普通import导入一个类或者是某个包中的所有类

Import static 静态导入

导入类下的一个静态方法

使用时就可以省略类名

Math.abs

导入import static java.lang.Math.max;

可以直接写abs();

可变参数

只能出现在参数列表的最后

......位于变量类型和变量名之间,前后有无空格都可以

调用可变参数方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数

Public static int add(int x,int ....args){

Int sum = x;

For(int 1 = 0;i<args.length;i++)

Sum = args[i];

Return sum;

}

Syso(add(1,2,3,4,5));

增强for

For(type 变量名:集合)

享元模式

很多小的对象有很多属性相同把他们变成一个对象

不同的属性变成方法的参数,

枚举

枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错,枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标

实现原理

每一个枚举都是一个对象

枚举定义构造方法

元素列表必须在方法之前

枚举的构造必须是私有的

反射

Class类大写的C

Java程序中的各个java类属于同一类事物,描述这类事物的java类名就是Class

得到类的字节码

类名.Class

对象.getClass()

Class.forName(“类名”)

反射就是把java类中的每个成分映射成相应的java

Constructor类就是代表某个类中的一个构造方法

得到某个类中所有的构造方法

Constructor[] con = Class.forName(“”).gerConstructor

得到某一个构造方法

Constructor[] con = Class.forName(“”).gerConstructor(StringBuff.class);

创建实例对象

一般方式

String str = new String(new StringBuffer(“abs”));

反射方式

String str = (String)constructor.newInstance(new StringBuffer(“abc”));

Class.newInstance()方法

String obj = (String)Class.forName(“java.lang.String”).newInstance;

该方法内部先得到默认的构造方法,然后用该构造方法创建实例对象

成员变量的反射

Field

获取成员变量的字节码

Field fieldy = 对象.getClass().getField(“要获取的变量名”);

获取成变量的值

fieldy.get(对象);

Method

反射调用方法

Method methodCHartAt = String.class.getMethod(“charAt”,参数);

methodCHartAt .incoke(对象,参数);

 

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值