张孝祥 java_张孝祥Java高新技术汇总
一、自动装箱和拆箱:
在Java中有8种基本数据类型:byte,short,int,long,float,double,char,boolean。而基本数据类型不是对象,这时人们给他们定义了包装类,使其成为对象,具有对象的性质。Byte,Bhort,Integer,Long,Float,Double,Character,Boolean。
装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。(通俗点理解:系统帮我们自动new基本类型对应的对象。)int包装成Integer、float包装成Float
拆箱:和装箱相反,将包装类的对象简化成值类型的数据。
Integer a = 100; 这是自动装箱
int b = new Integer(100); 这是自动拆箱
注意:
当 int 的取值在 -128 ~ 127 之间的时候,这时候系统并不会每次都帮我们去 new 一个 Integer 对象,而是取值相同的对象只会被 new 一次,
取值相同的 Integer 对象系统不会再去 new 一次,而是共享了已有的这个 Integer 对象。
而当 int 的取值在 -128 ~ 127 之外的时候,这时候不管 Integer 对象的取值是否一样,系统都会去 new 一个。
二、可变参数的类型:
有些方法里的参数个数不确定,这时怎么办呢?
可以重载这个方法,重载时在里面传入不同的参数。
但是有时参数个数不确定或者太多,这时我们应该使用可变参数类型。
三、增强for循环:
语法结构:
for ( type 变量名:集合变量名 ) { … }
四、枚举(enum):
枚举其实是一个特殊的类,里面定义了一些常量(static final )。
五、反射机制:
首先什么是Class类。
在java中,每次用一个类创建一个对象,与此类相关的Class对象就自动创建了,这个Class对象包含该类的相关信息,如成员变量,方法,等信息。
此外,Class类还有很多方法,最常见的如JDBC里加载数据库驱动的方法:加载ODBC驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
获得class对象有三种方式:
方式一:对象.getClass()
方式二:类.class
方式三:使用Class类中静态方法,Class.forName(类)
package wang.test;
import java.util.Date;
public class Test {
/**
* @param args
* 获得Class对象的三种方式
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws ClassNotFoundException {
Person p = new Person();
//方式一:对象.getClass()
Class p_cla = p.getClass();
//方式二:类.class
Class date_cla = Date.class;
//方式三:使用Class类中静态方法,Class.forName(类)
Class str_cla = Class.forName("java.lang.String");
System.out.println(p_cla);
System.out.println(date_cla);
System.out.println(str_cla);
System.out.println("________________________________________________");
System.out.println(p_cla.getClassLoader());//获得该类的类装载器
System.out.println(p_cla.isPrimitive());//判断该类是否是java的基本类型
}
}
运行结果:
搞懂了什么是Class类,就容易理解Java反射机制了。因为Class类是反射机制的原理基础。
简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,
那么就可以通过反射机制来获得类的所有信息。
六、内省机制:
七、泛型:
这篇博客讲得很清楚:点击打开链接
八、类加载器:
这篇博客讲得很清楚:(因为老显示该链接为被禁用链接,所以请百度:年年去旅行Java 类加载器)
张孝祥 java_张孝祥Java高新技术汇总相关推荐
- 张孝祥老师的java高新技术
今天,我们接着上次的高新技术,继续学习<张孝祥老师的java高新技术>. 1.枚举 什么是枚举? 枚举是一种特殊的类. 枚举一般是结合内部类出现的.同时枚举一般是用来表示那些确定的元 ...
- Java知识汇总-思维导图
2019独角兽企业重金招聘Python工程师标准>>> Java知识点汇总,从基础到常用的API.还有常用的集合类,总结的很详细.图片是从论坛里面找到的,整理下来以便常复习.这是目前 ...
- Java高新技术 枚举
Java高新技术 枚举 知识概要: (1)为什么要有枚举 (2)枚举的示例 (3)枚举的应用 (4)枚举的高级应用 (1)为什么需要枚举 问题:要定义星期几或性别的变量,该怎么定义? 假设 ...
- Java知识点汇总以及常见面试题
Java知识点汇总以及常见面试题 1. "=="和equals()的区别 2. 构造方法能不能重写或者重载 3. 基本数据类型 4. 匿名内部类能被继承? 5. Integer和i ...
- Java知识汇总——思维导图
Java知识汇总--思维导图 Java知识点汇总,从基础到常用的API.还有常用的集合类,总结的很详细.图片是从论坛里面找到的,整理下来以便常复习.这是目前看到的比较详细完整的思维导图. 1.Java ...
- 黑马程序员——黑马学习日志之二十 Java高新技术(二)
------- android培训.java培训.期待与您交流! ---------- 黑马学习日志之二十 Java高新技术(二) 1枚举 问题:要定义星期几或性别的变量,该怎么定义? 假设用1-7分 ...
- 用友Java面试汇总
用友Java面试汇总 春招实习 参考意义不大 昨天晚上接到了用友的电话,让我订时间,约好今天1点30 1点40开始电话面试 (1)自我介绍,根据情况进行一些简单提问,例如问了我做项目的感受是什么,进入 ...
- Java基础汇总(三)——final
一.final 变量 定义: 成员变量:在类中,方法外 本地变量(方法内的局部变量):方法中或者方法声明上(形式参数) 区别: 位置不同:成员变量在类中,方法外:局部变量在方法中或者方法声明上(形式参 ...
- 《LeetCode 热题 HOT 100》Java答案汇总版---持续更新中
<LeetCode 热题 HOT 100>Java答案汇总版-持续更新中 个人认为<LeetCode 热题 HOT 100>中的题目特别适合算法新手进行一个入门的刷题,而且作者 ...
最新文章
- PNGEncoder生成透明png图片
- 2020年日历_2020年《故宫日历》发布:浓缩紫禁城600年沧桑
- 微云服务器失败原因_梦幻西游:服务器发生异常?游戏出现明显卡顿感,正在排查问题...
- 异常是catch还是throws的简单原则
- [Python爬虫] 之二十七:Selenium +phantomjs 利用 pyquery抓取今日头条视频
- Linux创建逻辑卷
- CryptoQuant CEO:比特币大规模从Coinbase流出是最强劲的看涨信号
- php 怎么实现空间点赞,【点赞源码】QQ空间自动点赞PHP源码
- anaconda中的python在pycharm中用不了_pycharm与anaconda的使用
- VS2015基础开发流程
- VScode 常用插件推荐,非常全面
- python 计算箱线图、中位数、上下四分位数等
- win7防火墙无法启动的代码修复
- 【特征检测】BRISK特征提取算法
- R语言 cowplot包快速拼图
- 系统平台开发搭建订单补充源代码部署
- 自学python(2):利用opencv实现读图,显示,画框,裁剪的python代码
- cloud-华为云——云平台部署管理架构
- 2021-2027全球及中国M2M应用开发平台行业研究及十四五规划分析报告
- 注册页面reg.html