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类是用来存储获取到的类信息的
相关推荐
Hello.Reader1 分钟前
Flink SQL 窗口表值函数TUMBLE / HOP / CUMULATE / SESSION
java·sql·flink
繁华似锦respect2 分钟前
C++ 智能指针设计模式详解
服务器·开发语言·c++·设计模式·visual studio
郝学胜-神的一滴3 分钟前
Linux进程创建的封装与设计模式应用:结构化分析与实践指南
linux·服务器·开发语言·c++·程序人生·设计模式
想不明白的过度思考者4 分钟前
Spring IoC 与 DI 深度剖析:从“控制反转”到 Bean 的集中管理
java·spring·ioc·di
南河的南4 分钟前
解决IDEA无法下载Maven仓库的源码
java·maven·intellij-idea
无名-CODING7 分钟前
#Servlet与Tomcat完全指南 - 从入门到精通(含面试题)
java·servlet·tomcat
想个名字太难10 分钟前
ElasticSearch编程操作
java·elasticsearch·全文检索
Keep_Trying_Go11 分钟前
基于Transformer的目标统计方法(CounTR: Transformer-based Generalised Visual Counting)
人工智能·pytorch·python·深度学习·transformer·多模态·目标统计
ULTRA??12 分钟前
C++的...符号(可变参数实现)
开发语言·c++
小马爱打代码13 分钟前
Spring AI:RAG 增强检索介绍
java·人工智能·spring