java书 核心技术+卷一+4

5.4 对象包装器与自动装箱

java 复制代码
package 反射;
import java.util.AbstractList;
import java.util.ArrayList;
public class test {
    public static void main(String[] args) {
        int a=10;
        
        ArrayList<Integer> xx=new ArrayList<>();
        xx.add(a);  //自动装箱
        
        int b=xx.get(0);//自动拆箱
        
    }
}

5.5参数数量可变的方法

java 复制代码
package 反射;
import java.util.AbstractList;
import java.util.ArrayList;
public class test {
    public static void main(String[] args) {
        m1("aaa");
        m1("aaa","nnn");
    }
    public static void m1(String... aaa)//传若干个 可以表示为数组
    {
        //比如String a1=aaa[0];
    }
}

5.6枚举类

也是一个类 但是限定了对象的个数

所以不能new

枚举的构造方法必须是私有的

java 复制代码
package 反射;

public enum MMM {
    AA(10,"1"),BB(20,"b"),CC(30,"c"),DD(40,"d");
    
    public int age;
    public String name;
    private MMM(int a,String b)
    {
        age=a;
        name=b;
    }
    public void m1()
    {
        
    }
}

构造器里面若是传参 枚举中的每个对象也得传参

枚举的调用和正常变量没什么区别

java 复制代码
package 反射;
import java.util.AbstractList;
import java.util.ArrayList;
public class test {
    public static void main(String[] args) {
    MMM x1=MMM.AA;
    MMM x2=MMM.BB;
    x1.age=90;
    x1.name="xiaoli";
}
}

5.7反射

反射和代理是框架的核心

也是架构师的核心

5.7.1 Class类

获取类信息的三种方式:

对象.getClass()

类.class

Class.forname("类的路径")

java 复制代码
Employee e;
....
Class cl=e.getClass();
//是将e这个类中的全部的类信息存到cl中
//Class类是用来存储获取到的类信息的
相关推荐
lskisme6 分钟前
springboot maven导入本地jar包
开发语言·python·pycharm
SheepHappy11 分钟前
MyBatis-Plus 源码阅读(二)代码生成器原理深度剖析
java·源码阅读
雨白20 分钟前
重识 Java IO、NIO 与 OkIO
android·java
light_in_hand21 分钟前
内存区域划分——垃圾回收
java·jvm·算法
金銀銅鐵22 分钟前
[Java] JDK 9 新变化之 Convenience Factory Methods for Collections
java·后端
开心-开心急了25 分钟前
pyside6实现win10自动切换主题
开发语言·python·pyqt·pyside
沐知全栈开发1 小时前
Foundation 模态框
开发语言
mortimer1 小时前
一键实现人声伴奏分离:基于 `uv`, `FFmpeg` 和 `audio-separator` 的高效解决方案
python·ffmpeg·音视频开发
wjs20241 小时前
CSS 导航栏
开发语言
用户7406696136251 小时前
入门并理解Java模块化系统(JPMS)
java