Java5类型系统有哪些?

Python017

Java5类型系统有哪些?,第1张

Java5的发布为类型系统带来了三个主要新特性,枚举、注解和泛型。

枚举类型(Enum)在某些方面与类相似,但是它的属性只能是指定数量的实例,每个实例都不同并且在类描述中指定。主要用于“类型安全的常量”,而不是当时普遍使用的小整数常量,枚举构造同时还允许附加的模式,有时候这非常有用。

注解(Annotation)与接口相关,声明注解的关键字是@interface,以@开始表示这是个注解类型。正如名字所建议的,它们用于给Java代码元素做注释,提供附加信息,但不影响其行为。此前,Java曾使用“标记接口(Markerinterface)”来提供这种元数据的有限形式,但注解被认为更有灵活性。

Java泛型提供了参数化类型,其想法是一种类型能扮演其它类型对象的“容器”,无需关心被包含类型的具体细节。装配到容器中的类型通常称为类型参数。

Java5引入的特性中,枚举和注解为引用类型提供了新的形式,这需要编译器特殊处理,并且有效地从现有类型层级结构分离。

泛型为Java的类型系统增加了显著额外的复杂性,不仅仅因为它们是纯粹的编译时特性,还要求Java开发人员应注意,编译时和运行时的类型系统彼此略有不同。

Java最初的类型系统至今已经超过15年了。它简单而清晰,类型包括引用类型和基本类型。类、接口或者数组属于引用类型。

1、类是Java平台的核心,类是Java平台将会加载、或链接的功能的基本单位,所有要执行的代码都必须驻留于一个类中。

2、接口不能直接实例化,而是要通过一个实现了接口API的类。

3、数组可以包含基本类型、类的实例或者其它数组。

4、基本类型全部由平台定义,程序员不能定义新的基本类型。

从最早开始,Java的类型系统一直坚持很重要的一点,每一种类型都必须有一个可以被引用的名字。这被称为“标明类型(Nominativetyping)”,Java是一种强标明类型语言。

系统定义的是你可以直接导入包之后只用的类,如String 它是个特殊的类 你可以直接生成对象 string com=new string() 具体的你可以在jdk帮助文档里面找 每导入一个包 就会生成很多类

自定义的就是你自己写好的类在里面添加属性方法!

class MyGame

{

String name="张三"

int age=18

public void Print()

{

System.out.print("姓名:"+name+"\n"+"年龄:"+age)

}

public static void main(String[] args)

{

MyGame game=new MyGame()

game.Print()

}

}

这是自己定义的类