五月十二号java基础知识点
1.注解是代码中特殊标记,作用是告知编译器做什么事
2.反射允许程序在运行状态时,对任意一个字节码获取它所有信息
3.内部类是定义在类中的嵌套类
4.匿名内部类是定义在类的同时创建该类的一个对象
5.lambda表达式是使用精简语法的匿名内部类
6.代码中使用注解的方式:“@注解名”
7.注解分为三种:基本注解、元注解、自定义注解
8.基本注解在JDK8中分为5种:
1)@Deprecated:表示某个程序元素(如类、方法)已过时
2)@Override:只用于方法,限定必须覆盖父类的方法,保证方法覆盖正确性
3)@SuppressWarnings:一直警告信息出现,用于类型、构造方法、成员方法、成员变量
、参数以及局部变量。语法格式:@SuppressWarnings(“警告参数”)或
@SuppressWarnings(value=“警告参数”)
4)@SafeVarargs:用于抑制堆污染警告。
堆污染是指一个不带泛型的对象赋值给带泛型的对象,将导致泛型对象污染
三种方式抑制堆污染警告:
(1)使用@SafeVarargs注解修饰引发该警告方法(推荐使用)
(2)使用@SuppressWarnings(“unchecked”)
(3)编译时使用-Xlint:varargs选项
5)@FunctionalInterface:指定接口必须是函数式接口值,该注解只修饰函数式接口
如果一个接口只有一个抽象方法,则该接口就是函数式接口
函数式接口为Lambda表达式准备,允许Lambda表达式创建函数式接口
public class app13_1 {
public String name;
public int age;
@Deprecated//说明下面的show()方法已经过时
public void show(String name){
System.out.println(name);
}
@Override//限制必须覆盖父类Object的toString()方法
public String toString(){
return "姓名:"+name+" 年龄:"+age;
}
public static void main(String[] args) {
app13_1 p = new app13_1();
p.show("张三");//因show()方法被@Deprecated注解,不赞成使用这个方法
}
}
9.元注解:包括六种元注解类型
1)@Target:限制注解适用范围即可用于哪些程序元素
使用格式@Target(value=作用范围)
2)@Retention:说明注解保存范围
使用格式:@Retention(value=保存策略值)
3)@Document:指定被修饰注解可被javadoc.exe工具提取成文档
4)@Inherit:一个父类注解可被子类所继承。
5)@Repeatable:开发重复注解。jdk8允许多个注解修饰同一个程序元素
6)@类型注解:定义枚举时使用@Target(ElementType。TYPE_USE),
可用在任何用到类型的地方
10.自定义注解:
[public]@interface 注解名
{
数据类型 成员变量名() [default 初始值];
}
例如:@interface info//自定义注解info
{
String author() default "张三丰";//自定义注解成员变量author,初值为“张三丰”
}
11.动态获取程序信息以及动态调用对象的功能就是反射机制。
总结:了解了注解、反射、内部类,匿名内部类的概念
注解分为三种基本注解、元注解以及自定义注解的种类以及作用格式
五月十二号java基础知识点的更多相关文章
- 二十二、Java基础--------GUI入门
在java学习过程中GUI是一个比较特殊的知识体系(笔者对安卓不是很了解),似乎在为安卓的学习做着准备,本文将将展示一个综合案例. 创建一个类似于记事本的程序,包含打开与保存功能. package G ...
- 十二、Java基础---------异常处理机制
异常 异常 异常就是程序在运行时产生的异常情况. 异常的由来 问题也是现实生活中的具体事物,也可以通过java 类的形式进行描述,并封装成对象.异常就是java 对不正常情况进行描述后的对象的体现. ...
- Java基础知识点(四)
前言:记录Java基础知识点,方便熟悉与掌握. 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则.开闭原则.依赖倒转原则.里氏替换原则.接口隔离原则.合成聚合复用原则 ...
- Java基础知识点(三)
前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...
- Java基础知识点(一)
前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.p ...
- java基础知识点补充---二维数组
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...
- Java基础知识点(二)
前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...
- Java基础知识点总结
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...
- JAVA基础知识点总结(全集)
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...
随机推荐
- c# iis网站发布
c# iis网站发布 问题一: 有很多人在用服务器发布网站的时候,一直出现 "HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容",那么 ...
- 基于predis高并发情况下实现频率控制的函数
/** * 频率控制函数 * @param string $product 保持唯一 * @param string $key 限制频率的维度 比如uid * @param int $millisec ...
- HTML基础知识学习
一.HTML概述 1.系统结构: ①.B/S架构 Browser Server(浏览器/服务器的交互形式.) Browser支持哪些语言:HTML CSS Javascript S是服务器端Serve ...
- [Leetcode 787]中转K站内最便宜机票
题目 n个城市,想求从src到dist的最廉价机票 有中转站数K的限制,即如果k=5,中转10次机票1000,中转5次机票2000,最后返回2000 There are n cities connec ...
- ctype.h系列的字符函数
C有一系列专门处理字符的函数,ctype.h头文件包含了这些函数的原型.这些函数接受一个字符作为参数,如果该字符属于某特殊的类别,就返回一个非零值(真):否则返回0(假).这个头文件在判断特定字符类型 ...
- 9.29 2020 实验 4:Open vSwitch 实验——Mininet 中使用 OVS 命令
一.实验目的 Mininet 安装之后,会连带安装 Open vSwitch,可以直接通过 Python 脚本调用Open vSwitch 命令,从而直接控制 Open vSwitch,通过实验了解调 ...
- 入门级java开发环境的配置安装
为了能够在计算机上开发Java程序和运行Java程序,就需要在Windows操作系统上配置Java开发环境. 首先,安装JDK: 1.在Oracle官网上下载JavaSE: 2.在Download下载 ...
- RPC方式调用远程webservice接口
/** * 可调整调用方法与命名空间的请求 * @param wsMethod 方法名 * @param bodyMessage json请求体.toString() * @return JSONOb ...
- 搬运 nginx代理https
oauth2-client在Nginx代理后遇到的问题和解决方案 2020-01-17 2020-05-27 TECH 30 MINUTES READ (ABOUT 4442 WORDS) OAu ...
- NX二次开发 批量导出X_T(包括部件里的装配体)
VS2019 NX1946 UF_initialize(); string filepath = strDir + "\\";//拼接路径 //获取图层过滤 PropertyLis ...