当前位置: 首页 > news >正文

JAVA1110 反射 泛型

在这里插入图片描述
在这里插入图片描述

import java.lang.reflect.Field;public class Main {public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException {Student s = new Student("xiaocao", 5); //创建了一个实例//实例化了一个对象//   s.times = 14;// System.out.println(s.times);// System.out.println(s.getName());//为啥获得的是初始值?能获得新赋的值吗?//System.out.println(s.getFee());//再说:student类 Classes类 School类 属性随便定义 共有一个name属性 写一个方法 入参不限制 返回name 返回值:name属性School sc=new School();sc.getName();//返回值是name属性?Class <?> school=Class.forName("School");Class <?> game=Class.forName("Game");Class <?> student=Class.forName("Student");Field schoolfield= school.getDeclaredField("name");System.out.println(schoolfield.getName());System.out.println(schoolfield.getType().getSimpleName());Field gamefield=game.getDeclaredField("name");System.out.println(gamefield.getName());System.out.println(gamefield.getType().getSimpleName());Field studentfield=student.getDeclaredField("name");System.out.println(studentfield.getName());System.out.println(schoolfield.getType().getSimpleName());try {//  Student sl = new Student("llk",21);// System.out.println("年龄类型" +//       (sl.getAge() instanceof Integer ? "Integer" :"int"));
} catch (Exception e) {System.out.println("创建失败"+e.getMessage());
}}
}

泛型

泛型就是在定义类、接口或方法时,不指定具体的类型,而是使用一个“类型参数”,在使用时再指定这个参数的具体类型。

需要泛型为啥

没有泛型

import java.util.ArrayList;
import java.util.List;// 没有泛型的时代
List list = new ArrayList();
list.add("Hello");
list.add(100); // 可以放任何类型,没有问题// 但取出时...
String str = (String) list.get(0); // 需要强制转换
String error = (String) list.get(1); // 运行时抛出ClassCastException!

泛型引入

泛型就像给容器贴上一个"类型标签",告诉编译器:“这个容器只能存放指定类型的数据”。

import java.util.ArrayList;
import java.util.List;public class FanXin {public static void main(String[] args) {List<String> stringli=new ArrayList<>();stringli.add("hello");String str=stringli.get(0);System.out.println(str);}
}

在这里插入图片描述

泛型基础语法

泛型类

在这里插入图片描述
在这里插入图片描述

public class Box<T> {private  T content;public void setContent(T content){this.content=content;////this.content 当前对象的content成员变量//content参数值}//这个构造方法是什么意思?
//不是构造方法 是setter方法//将传入的参数值设置给类的成员变量content 设置或修改内容值public T getContent() {return content;}//public static void main(String[] args) {Box<String> stringBox=new Box<>();stringBox.setContent("ok");System.out.println(stringBox);}
}
import java.util.ArrayList;
import java.util.List;public class FanXin {public static void main(String[] args) {List<String> stringli=new ArrayList<>();stringli.add("hello");String str=stringli.get(0);System.out.println(str);Box<String> stringBox=new Box<>();stringBox.setContent("ok");String text=stringBox.getContent();System.out.println(text);Box<Integer> integerBox=new Box<>();integerBox.setContent(100);int number=integerBox.getContent();System.out.println(number);}
}

在这里插入图片描述
在这里插入图片描述

怎么理解装箱和拆箱

装箱:将基本数据类型转换为对应的包装类对象

拆箱:将包装类对象转换为对应的基本数据类型

在这里插入图片描述
在这里插入图片描述
记住这个简单的原则:能用int就用int,必须用对象时才用Integer。

泛型接口

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/594257.html

相关文章:

  • 设计网站大全软件网络营销有哪些功能
  • 余江网站建设河南郑州百姓网
  • 济南莱芜最新消息seo平台是什么意思
  • 银河麒麟高级服务器操作系统V10SP3 2403(X86)PXE服务端部署以及测试
  • 安徽建站优化哪里有八戒八戒在线观看免费完整版
  • 远距离视频传输无线模块:打破空间限制的未来科技
  • Linux网络编程—网络基础概念
  • 硬件基础知识-电容(一)
  • 做网站需要多少钱怎么做网站的百度收录
  • 什么软件可以做网站百度站长平台怎么验证网站
  • 网站建设定制网络营销方式哪些?
  • Python | range数据类型、for循环及应用方式
  • 怎么仿一个复杂的网站wordpress怎么写时间轴
  • HTML5 表单属性详解
  • 官网国产化改造,为何首选PageAdmin CMS?
  • 传感器监测精度:压电 / 温度传感器对心率 / 呼吸信号的捕捉效率测试
  • 十堰优化网站哪家好有免费做推广的网站吗
  • 网站空间如何续费南昌企业建站系统
  • 底层视觉及图像增强-项目实践(十六-0-(4):从“调屏经验”到“AI慧眼【神经网络、卷积】”的思维跃迁):从奥运大屏,到手机小屏,快来挖一挖里面都有什么
  • dede网站安全东莞金融网站建设
  • 网站页面设计尺寸彩云小梦ai写作网站
  • 培训考试系统源码重要吗
  • Swift-GCD和NSOperation
  • 移动硬盘安装Ubuntu系统——Ubuntu与Windows时间不一致(详细版)_002
  • 【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 3
  • 昆明餐饮网站建设建设摩托车官网报价
  • 深圳公司建站推广保定市城乡建设局官方网站
  • 介绍 一下 DINOV2 骨干网络
  • 算法的初步认识
  • 库尔勒网站商城建设广告联盟赚钱app