随笔分类 -  Java基础

摘要:被注解@Deprecated标记的程序元素是不鼓励使用的程序元素,通常是因为它很危险,或者是因为存在更好的替代方案。 除了对象自身引用自己用@Deprecated标记的方法外,其他情况使用@Deprecated注解标记的类型,方法,字段或构造函数时,Java编译器都会生成deprecation警告。 阅读全文
posted @ 2019-01-22 19:52 编程老司机A 阅读(15620) 评论(0) 推荐(1) 编辑
摘要:被@FunctionalInterface注解标记的类型表明这是一个函数接口。从概念上讲,函数接口只有一个抽象方法。如果接口声明的抽象方法覆写Object类的公共方法,那这方法不算作接口的抽象方法,因为接口具有Object方法的默认实现。 先看Java SE 8中@FunctionalInterfa 阅读全文
posted @ 2019-01-21 08:59 编程老司机A 阅读(6899) 评论(0) 推荐(0) 编辑
摘要:定义 首先,我们先看看函数接口在《Java语言规范》中是怎么定义的: 函数接口是一种只有一个抽象方法(除Object中的方法之外)的接口,因此代表一种单一函数契约。函数接口的抽象方法可以是从超级接口继承而来,但继承而来的方法应该是覆写等效的( override-equivalent ),这种情况,在 阅读全文
posted @ 2019-01-20 21:40 编程老司机A 阅读(6450) 评论(0) 推荐(0) 编辑
摘要:在声明具有模糊类型(比如:泛型)的可变参数的构造函数或方法时,Java编译器会报unchecked警告。鉴于这些情况,如果程序员断定声明的构造函数和方法的主体不会对其varargs参数执行潜在的不安全的操作,可使用@SafeVarargs进行标记,这样的话,Java编译器就不会报unchecked警 阅读全文
posted @ 2019-01-19 10:02 编程老司机A 阅读(18801) 评论(0) 推荐(6) 编辑
摘要:Java编译器在编译代码时,会产生一些安全警告信息。如果被@SuppressWarnings注解标记的元素,就可以告诉编译器抑制指定的警告。 先看看@SuppressWarnings注解在Java SE中的声明: package java.lang; import java.lang.annotat 阅读全文
posted @ 2019-01-18 11:41 编程老司机A 阅读(2035) 评论(0) 推荐(0) 编辑
摘要:先看看@Override注解在Java SE中的声明: package java.lang; import java.lang.annotation.*; @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @i 阅读全文
posted @ 2019-01-17 19:41 编程老司机A 阅读(9543) 评论(0) 推荐(3) 编辑
摘要:@Repeatable注解表明标记的注解可以多次应用于相同的声明或类型,此注解由Java SE 8版本引入。以下示例如何使用此注解: 第一步,先声明一个重复注解类: package org.springmorning.demo.javabase.annotation.meta; import jav 阅读全文
posted @ 2019-01-16 19:59 编程老司机A 阅读(7804) 评论(1) 推荐(1) 编辑
摘要:@Inherited注解标记其他的注解用于指明标记的注解是可以被自动继承的。 注意:此注解只对注解标记的超类有效,对接口是无效的。 示例: 先声明两个用@Inherited标记的注解,@Name和@Abbreviation,一个没有用@Inherited标记的注解@UpperCaseName pac 阅读全文
posted @ 2019-01-15 19:48 编程老司机A 阅读(4391) 评论(0) 推荐(2) 编辑
摘要:@Retention注解标记其他的注解用于指明标记的注解保留策略:先看Java SE 8中@Target是如何声明的: package java.lang.annotation; public enum RetentionPolicy { /** * Annotations are to be di 阅读全文
posted @ 2019-01-14 10:08 编程老司机A 阅读(1295) 评论(0) 推荐(0) 编辑
摘要:@Target注解标记另外的注解用于限制此注解可以应用哪种Java元素类型。先看Java SE 8中@Target是如何声明的: package java.lang.annotation; public enum ElementType { /** Class, interface (includi 阅读全文
posted @ 2019-01-13 23:31 编程老司机A 阅读(6273) 评论(0) 推荐(2) 编辑
摘要:@Documented注解标记的元素,Javadoc工具会将此注解标记元素的注解信息包含在javadoc中。默认,注解信息不会包含在Javadoc中。示例如下: 声明Book注解,并使用@Document标记: package demo.javase.annotation; import java. 阅读全文
posted @ 2019-01-12 23:25 编程老司机A 阅读(33419) 评论(0) 推荐(7) 编辑
摘要:JVM JVM,全称为Java Virtual Machine,中文的意思是:Java虚拟机。 在理解Java虚拟机这个定义之前,我们先讲讲为何叫虚拟机呢?称为虚拟机,顾名思义,它应该不是真实存在的。那它是什么呢?在这里,我们把它理解为一种规范(就像国家颂布的法律,它只是条文,只是规则,是概念上的东 阅读全文
posted @ 2019-01-11 19:00 编程老司机A 阅读(641) 评论(0) 推荐(0) 编辑
摘要:Java的历史是非常有意思的。1990年底,Sun Microsystems在工作站计算机市场上领先世界,并继续保持健康发展。Sun想把本公司的创新和专业知识应用到即将到来的消费电子市场领域,于是该公司邀请了一些顶级工程师,组建了一个Green Team团队(核心成员有: James Gosling 阅读全文
posted @ 2019-01-10 23:57 编程老司机A 阅读(2487) 评论(0) 推荐(1) 编辑
摘要:1.注解是什么? 注解,元数据的一种形式,提供与程序有关的数据,但又不是程序的一部分。注解对它们注解的代码操作没有直接影响。 附注:元数据是指用来描述数据的数据,更通俗一点,就是描述代码间关系,或者代码与其他资源(例如数据库表)之间内在联系的数据。在Java中,使用Annotation的概念来描述元 阅读全文
posted @ 2019-01-08 10:07 编程老司机A 阅读(441) 评论(0) 推荐(0) 编辑
摘要:String a= "test"; 此语句含义是:在常量池中创建test字符串对象,变量aa是对常量池中此对象的引用 String aa = new String("test"); 此语句含义是:如果常量池中没有test字符串对象,会在常量池中创建,并且还会在堆中创建一个test对象,变量aa是对堆 阅读全文
posted @ 2019-01-07 12:56 编程老司机A 阅读(817) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示