Java8-Annotation+Java8의 새로운 기능
2716 단어 java8
Annotation은 JDK 1입니다.5 가장 큰 특색은 주석의 형식을 이용하여 프로그램의 서로 다른 기능을 실현한다.
자바SE에서 사용자 정의 Annotation 개발을 지원하고 가장 자주 사용하는 3개의 기초 Annotation: @Override, @Deprecated, @SuppressWarnings를 제공합니다.
정확하게 덮어쓰기: @Override:
class Book {
@Override //
public String toString() {
return "hello";
}
}
public class test {
public static void main(String args[]) {
System.out.println(new Book());
}
}
@Override를 추가하지 않으면 덮어쓸 때 방법의 이름 대소문자가 잘못되어 컴파일한 후에만 검사할 수 있으며 @Override를 추가한 후에 컴파일하는 과정에서 발견할 수 있습니다.
만료 선언: @Deprecated:
class Book {
@Deprecated //
public String toString() {
return null;
}
}
public class test {
public static void main(String args[]) {
Book book = new Book();
book.toString();
}
}
@Deprecated는 이 방법이 만료되었음을 설명하는 데 사용되며 개발자는 계속 사용하지 마십시오. 그러나 이전의 개발 프로그램에서 이미 사용한 경우 이 방법을 계속 사용할 수 있습니다.
경고 억제: @SuppressWarnings:
개발 과정에서 어떤 문제가 발생할지 알고 경고 알림 정보가 나타나지 않기 위해 존재하는 강박증의 복지를 개발하고 있다.
Java8의 새로운 기능:
인터페이스 정의 향상:
interface IMessage {
public abstract void print();
default void fun() {
System.out.println("hello");
}
}
class Message implements IMessage {
public void print() {
System.out.println("world");
}
}
public class test {
public static void main(String args[]) {
IMessage msg = new Message();
msg.fun();
}
}
인터페이스는 전역 상수와 추상적인 방법으로 구성되어 있으며 인터페이스에서 일반 함수를 정의할 필요가 있으면default 키워드를 사용하여 방법을 정의해야 한다. 예를 들어 위 코드가 출력한 것은hello이다.default 키워드를 제외하고static 키워드 정의도 사용할 수 있으며 클래스 이름으로 직접 호출할 수 있습니다.
JDK1.8 가장 중요한 개념이 있는데 내부 클래스가 매개 변수를 방문할 때final 키워드를 추가하지 않아도 된다.
Lamda 표현식:
함수식 프로그래밍에 속하는 개념;익명 내부 클래스에 연락해야 합니다.
interface IMessage {
public abstract void print();
}
public class test {
public static void main(String args[]) {
fun(() -> System.out.println("hello"));
}
public static void fun(IMessage msg) {
msg.print();
}
}
메소드 참조:
방법 인용은 하나의 방법에 대한 별명을 설정하는데 하나의 방법에 서로 다른 이름이 있는 것과 같다. 다음과 같은 네 가지 정의가 있다.
함수의 인용을 실현하려면 반드시 인터페이스를 사용해야 하지만 한 인터페이스에 하나의 방법만 있을 수 있고 여러 방법이 존재하면 인용할 수 없다.
@FunctionalInterface 표시 함수식 프로그래밍을 추가할 수 있고 한 인터페이스에 방법이 하나만 있을 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Liquibase】DB 작성·테이블 정의 변경신규 스타터 프로젝트 작성 Liquibase와 MySQL 선택 application.properties에 DB 정보 넣기 MySQL에서 "testdatabase"라는 데이터베이스 만들기 빌드 종속성 추가 build....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.