`

J2SE7规范_2013.2_类

 
阅读更多

8.1 类的定义

 

包括普通类和枚举类,枚举(略)

下面都是指普通类:

 

public只能用于外部类,成员类,不能用于局部类,匿名类

protected和private用于成员类时(待解)

static只能用于成员类,不能用于外部类,局部类,匿名类

 

abstract类可以有abstract方法

abstract类不能实例化

abstract类一定要保证子类能够实现其中的abstract方法

如果是为了不想被实例化,应该让构造成为private,通常含有static字段或方法

 

final类不能被继承,其中的方法无法被覆盖

final和abstract显然不能共存

 

strictfp类,表示其中的所有实型变量和表达式都是FP-strict

 

泛型类(略)

 

除了外部类和静态成员类,其他都叫内部类,包括成员内部类,局部内部类,匿名内部类

不能有static初始块,不能有成员接口

不能定义static成员,除非是final字段

但可以继承static成员

一个内部类的实例总是依赖于一个外部类实例

内部类外面定义的局部变量,形参,异常变量,必须定义为final

内部类外面定义的局部变量在内部类里面使用前必须初始化

 

静态成员类和静态局部类

可以有static初始块,可以定义static成员,可以有成员接口

成员接口总是static的 (内部接口的一种)

 

8.2 类的成员

 

构造方法,静态或非静态的初始化块,并非类的成员,所以不会被继承

 

8.3 类的字段

 

父类的private字段有可能被子类访问到,比如他们都在一个外部类里

但肯定不会继承给子类的

 

有可能从多个途径多次继承了同一个接口里定义的字段,没有关系,那只是常量,而且可以直接访问,或者用接口名访问

但两个父接口里的同名字段是不能被子类访问的,即使类型和值都相同也会编译报错

 

static字段就是类变量,非static就是实例变量

类变量初始化不能调用this和super,因为没有实例对象

 

未赋值的final static字段必须在static初始化块里初始化

未赋值的final 非static字段必须在构造方法结束前初始化

 

transient字段在持久化存储时不会被存储,比如序列化时

 

volatile字段在多线程中共享访问时总是读取最新值

volatile不能跟final共存

 

8.4 类的方法

abstract方法不能再声明为  private,  static,  final,  native,strictfp,  synchronized
native跟strictfp不能共存

abstract方法可以覆盖非abstract方法

无法用super调用abstract父类,因为父类无法实例化,但可以调用继承来的方法

 

final类的方法和声明为private的方法默认为final

 

native方法是说本方法不是平台无关的,里面有本地代码,直接加分号,没有方法体

 除了abstract和native,方法必须有方法体{....}

 声明了返回类型,不一定必须有return,可能通过异常等方式跳出方法

 

在覆盖或者实现方法的过程中无需考虑strictfp修饰符

 

8.8构造方法

 

构造不能是abstract, static, final, native, strictfp,synchronized

 

class Outer { 
class Inner {} 
} 
class ChildOfInner extends Outer.Inner { 
ChildOfInner() { (new Outer()).super(); } 
}

  

 

分享到:
评论

相关推荐

    [Java参考文档].J2SE6.0_CN.CHM

    [Java参考文档].J2SE6.0_CN.CHM,由于文件过大,所以划分了两个rar文件

    J2SE5.0_CN.chm API中文手册

    J2SE5.0_CN.chm API中文手册

    J2SE_Java_Api.zip

    J2SE,即Java 2 Platform, Standard Edition,是Java平台的核心部分,主要针对桌面应用和服务器端应用程序的开发。 J2SE Java Api包含了Java语言的基础库,这些库覆盖了从基本数据类型操作、内存管理(垃圾回收)到...

    J2SE6.0_CN.rar_j2se 6.0下载_j2se api chm 6.0_j2se6 a_j2se6 api_jav

    3. **NIO.2(New I/O API)**:引入了新的 NIO 模块,提供了异步文件操作和文件系统事件通知,使得处理大量I/O操作更为高效。 4. **改进的 JDBC 4.0**:JDBC 4.0 提供了自动连接管理、统一的异常处理以及对 Java ...

    J2SE6.0_Api_CN.zip_J2SE6.0_Api_CN_J2se6.0_apidoc_j2se 6.0_APIDOC

    3. **NIO.2(New I/O 2)**:引入了`java.nio.file`包,提供了文件系统操作的新API,支持文件路径、文件属性、文件观察者等特性,增强了非阻塞I/O的能力。 4. **动态语言支持**:通过`javax.script`包,Java 6支持...

    j2se.rar_j2EE api_j2se_j2se.c

    7. **JPA(Java Persistence API)**:是Java平台上的ORM(对象关系映射)规范,用于管理和持久化Java对象到数据库中。 8. **JAF(JavaBeans Activation Framework)**:支持Java对象的激活和序列化,常用于电子邮件...

    Hibernate_Api+J2SE_Java_ApiAPI+Servlet&JSP;_Tomcat_Api.rarSpring_Api+Struts_Api.

    2. **J2SE (Java Standard Edition)**:这是Java平台的核心,包含了Java运行环境和一些基础的API,用于开发桌面应用和服务器端应用。J2SE提供了诸如集合、多线程、网络编程等核心功能。 3. **Servlet**:Servlet是...

    com.google.zxing.client.j2se.jar下载

    zxing/zxing-j2se-1.7.jar包...包含类 com.google.zxing.StringsResourceTranslator.class com.google.zxing.client.j2se.BufferedImageLuminanceSource.class com.google.zxing.client.j2se.CommandLineRunner.class ...

    J2SE.JDBC_ODBC_Bridge.code.rar_java programming

    这个压缩包文件"J2SE.JDBC_ODBC_Bridge.code.rar"显然包含了关于如何使用JDBC-ODBC Bridge进行编程的实例代码。 JDBC-ODBC Bridge是Java早期版本中用来连接ODBC(Open Database Connectivity)兼容数据库的一种方式...

    j2se6 API_chinese.rar

    j2se6中文API文档,相当全,有框架,功能强大,编程好助手。

    JAVA_API.rar_JAVA_API_j2se j2EE api_j2se api j2ee api_j2se j2ee

    这个"JAVA_API.rar"压缩包包含的是JAVA_API的中文帮助文档,特别是针对j2se(Java 2 Standard Edition)、j2ee(Java 2 Enterprise Edition)以及j2me(Java 2 Micro Edition)的API。 1. **j2se API**:这是Java的...

    jdk_8.0.1310.11_64.zip 官方正式版下载

    SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。 EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。

    J2SE_5.0_第06章_常用类2.rar

    J2SE_5.0_第06章_常用类2.rar

    J2SE_5.0_第06章_常用类1.rar

    《J2SE 5.0 第06章:常用类1》主要涵盖了Java标准版5.0中的核心类库,特别是对字符串(String)类的深入探讨。这一章的学习旨在帮助开发者掌握Java中字符串处理的基本技巧和高级特性,提高代码效率和可读性。 在Java...

    j2se6_document_chm.part1.rar

    java6文档,chm格式,支持目录、索引、搜索

    java_j2se_read_image_upload.rar_swing 文件_swing文件上传

    - 一旦选择了文件,我们可以通过`BufferedImage`类来读取图像文件。 ```java BufferedImage image = ImageIO.read(selectedFile); // 可以对图像进行进一步的操作,如显示、编辑或保存 ``` 5. **文件上传到...

    j2se6.chm+JDK_API_1.6_zh_中文.CHM+jdk_api_1.7.chm

    - **NIO.2**:引入了新的文件系统API,提供异步I/O操作和文件路径操作等增强功能。 - **多catch块**:可以在一个catch子句中捕获多种类型的异常,提高了代码的可读性。 - **改进的枚举类型**:增加了`EnumSet`和`...

    com.ibm.msg.client.osgi.commonservices.j2se_7.0.1.3.jar

    jar包,官方版本,自测可用

    J2SE.rar_J2SE在线查询_j2se chm

    在J2SE.CHM文件中,你可以找到以下几个主要的知识点: 1. **类和接口**:包括了如`String`、`ArrayList`、`HashMap`、`Thread`等核心类,以及`Runnable`、`Comparator`等常用接口。每个类或接口下详细列出了其构造...

Global site tag (gtag.js) - Google Analytics