静态导入
导入这个东西厉害啊,Vue里就导入了别人的一些东西实现了好多厉害的功能
基本格式和Vue有点不同
import static 包名.类名.*
import static 包名.类名.类变量的名字
import static 包名.类名.类方法的名字
先创建一个静态类
package com.cig.StaticImport;
public class StaticClass {
public static int Max1 = 100;
public static void daying(int x){
int a = x + 10;
System.out.println(a);
}
}
然后用另一个类导入他并使用
import static com.cig.StaticImport.StaticClass.*;
import static java.lang.Math.abs;//这一个是Math类下的abs()方法,取绝对值
public class StaticImport {
public static void main(String[] args) {
System.out.println(Max1);
daying(5);
System.out.println(abs(-4));
}
}
对于一个给定的包,最后面不能写 * 导入所有类方法和类变量
必须指明导入的方法或变量名
如果本地方法和一个静态导入的方法重名了,会优先调用本地方法
如果两个导入的方法重名了,必须通过对象或类名使用类变量和类方法
可变参数函数
格式和普通函数差不多
函数修饰符 返回类型 函数名 (参数类型…参数名) {
}
可变参数只能在参数列表的最后,三个点只能位于参数类型和参数名之间
public int add(int x,int y,int…z){
}
创建带可变参数的类
public class VariableArgument {
public static int add(int...x) {
int sum = 0;
for (int i = 0; i < x.length; i++) {
sum += x[i];
}
return sum;
}
}
测试他
public class VariableArgumentTest {
public static void main(String[] args) {
int sum = 0;
sum = VariableArgument.add(1);
System.out.println(sum);
sum = VariableArgument.add(1,2,3,4,5);
System.out.println(sum);
}
}
for循环
这可不是普通的for循环,这可是用type的for循环
格式如下
for(type 变量名: 集合变量名) {
}
写栗子好麻烦,用上面的那个栗子吧
public class VariableArgument {
public static int add(int...x) {
int sum = 0;
for (int a:x) {
sum += a;
}
return sum;
}
}
结果都是一样的
自动拆装箱
public class AutoUnbox {
public static void main(String[] args) {
Integer data11 = new Integer(10);
Integer data12 = new Integer(10);
Integer data21 = Integer.valueOf(10);
Integer data22 = Integer.valueOf(10);
Integer data31 = 20;
Integer data32 = 20;
int sum1 = data11 + 20;
int sum2 = data32 + 20;
System.out.println("sum1的值为" + sum1);
System.out.println("sum2的值为" + sum2);
System.out.println("data11与data12是否为同一个对象?" + (data11 == data12));
System.out.println("data21与data22是否为同一个对象?" + (data21 == data22));
System.out.println("data31与data32是否为同一个对象?" + (data31 == data32));
}
}
将 int 型的 10 转换成 Interger 类的方式有三种
- new Integer()
- Integer.valueOf()
- Integer data31 = 20