Double类的概念
包装了一个double类型的变量作为成员变量,主要用于实现double类型的包装,并提供double类型到String类之间的转换等方法
常量与构造方法,构造方法
integer有装箱池,double类有装箱池;
包装类的继承关系
Double类的概念
包装了一个double类型的变量作为成员变量,主要用于实现double类型的包装,并提供double类型到String类之间的转换等方法
常量与构造方法,构造方法
integer有装箱池,double类有装箱池;
包装类的继承关系
从int 类型到integer类型的转换,叫做装箱
自动装箱池
在Integer类的内部提供了自动装箱技术,将-128到127之间的整数已经装箱完毕,当程序中使用范围之间的整数时,无需装箱直接取用自动装箱池中的对象即可,从而提高效率。
java.lang.Integer类内部包装了一个int类型的变量作为成员变量,主要用于实现对int类型的包装并提供Int类型到String类之间的转换等方法
Integer类为一个包装类
但实际在开发中,
包装类
通常情况下基本数据类型的变量不是对象
为了满足万物皆对象的理念就需要对基本数据类型的变量进行打包封装处理变成对象
而负责将这些变量声明为成员变量进行对象化处理的相关类,叫做包装类。
在java官方已经提供了8个包装类;
java.lang.Byte = byte
java.lang.Short = short
java.lang.In
toString方法
使用print或println打印引用或字符串接拼引用都会自动调用该方法
编程实现Student类的封装,特征:学号和姓名,要求提供打印所有特征的方法
为了返回更有意义的字符串数据,则需要重写该方法
hashCode 内存地址的编号
若两个对象调用equals方法相等,则各自调用该方法的结果必须相同
若两个对象equals方法不相等,则各自调用该方法的结果应该不相同
为了使得该方法与equals方法保持一致,需要重写该方法
以姓名做为基准判断两个对象是否相等
以及以学与
Object类相当于门派的开山祖师爷
java.lang.Object类是Java语言中层次结构的根类,也就是说任何一个类都是该类的直接或间接子类
如果定义了一个Java类时没有使用extends,则默认代表其父类为 Object类
如Object - Person--Student
万物皆Object
学习java语言官方提供的类与接口
API是应用程序接口,通过这个工具可以查询官方给我们提供的查询文件。
包即是目录,便于管理,解决同名的问题
据说java官方,光类就有3000多个
有些类,做上10年java开发,都用不上
常用的包:
java.lang 包
java.util包---该包是java语言中的输入输出包,里面提供了大量工具类以及集合等
Scanner类、Random类,List集合
java.lang包,是由Java虚拟机自行导入
java.io包-该包是java语言中输入输出包,里面提供了大量读写文件相关的类;
如:FilelnputStream类、FileOutputStream类
java.net包---该句是Java语言中的网络包,里面提供了大量的网络编程相关的类
如 ServerSocket类、 Socket类
java.sql包----该包是Java语言中的数据包,里面提供了大量操作数据库的类和接口等
如:DriverManager类,Connection接口
这个由具体的数据库的老师讲解
重点:java程序员在编程时可以使用大量类库,因此java编程时需要记的很多,对编程能力本身要求不是特别的高
核心类库的介绍
程序与进程的概念
程序,主要指存放在硬盘上的可执行文件
.exe
进程-主要指运行在内存中的可执行文件
在任务管理器上运行了很多的进程,是同时执行很多任务
当进程不够的时候,电脑卡死了
线程就是进程内部的程序流,
操作系统内部支持多进程
每个进程支持多线程,线程是轻量的,新建线程会共享所在进
1、内部类
概念、普通内部类、静态内部类、局部内部类、匿名内部类、回调模式等
重点在于匿名内部类的知识
2、枚举类
概念、自定义枚举类、enum关键字、继承Enum类、实现接口
3、注解
概念、自定义注解、使用、元注解,预制注解
重点:匿名内部类、回调模式
预制注解就是java语言自身提供的注解,具体如下:
@author 标明开发该类模块的作者,多个作者之间使用,分割
@version 标明该类模板的版本
@see参考转向,也就是相关主题
@since 从哪个版本开始增加的
@param 对方法中某参数的说明,如果没有参数就不能写
@return 对方法返回值中的说明,如果方法的返回值类型是void就不能写
@exception 对方法可能抛出的异常进行说明
@Override 限定重写父类方法,该注解只能用于方法
@Deprecated 用于表示所修饰的元素(类,方法等)已过时
@SuppressWarnings 抑制编译警告
注解的价值与意义,对开发的意义,目前还不得知
元注解 Repeatable
@Repeatable 表示自然可重复的含义,从JAVA8开始增加的新特性
从Java8开始对元注解@Target的参数类型ElementType枚举值增加了两个:
元注解 这个部分的用处,明在再问下相关老师
如果后面再碰到这部分内容。再来询问具体的用处
元注解@Target
@Target 用于指定被修饰的注解能用于哪些元素的修饰,取值如下:
注解与元注解在工程中的实际应用,倒底有啥子用呢
元注解@Inherited
@Inherited 并不是说注解本身可以继承
后面用于反射的知识,
元注解@ Documented
使用javadoc工具可以从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档,而该工具抽取时默认不包括注解内容
@Documented 用于指定被该注解javadoc工具提取成文档
定义为@Documented
元注解的概念
在标签的上面贴标签
元注解主要有
@Retention
@Documented
@Target
@Inherited 、
@Repeatable
@Retention 应用到一个注解上用于说明该注解的生命周期,取值如下:
RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视
RetenionPolcy.CLASS注解只被保留到编译进行的时候,它并不会被加载到JVM中,默认方式
RetentionPolicy.RUNTIME注解可以保留到程序运行的时候,它会被加载进入到JVM中,所以在程序运行时可以获取到它们
访问修饰符 @interface 注解名称{
注解成员;
}
自定义注解自动继承java.lang.annotation.Annotation接口
注解体中只有成员变量没有成员方法,而注解的成员变量以
注解的基本概念
注解 Annotation 又叫标注
是从java5开始增加一种引用数据类型
注解可以看成特殊的接口
Annotation
注解本质上就是代码中的特殊标记,通过这些标记可以在编译、类加载、以及运行时执行指定的处理。
trf
枚举类实现接口后需要重写抽象方法,而重写方法的方式有两种:重写一个,或者每个对象都重写