java 程序设计语言
Java 程序设计语言
陶治江 四川大学电气信息学院
1
java 程序设计语言
在数组中有一个 length 字段, 表示的是引用数组的元素的多少, 而且这个字段不是专门针对 基本数据类型的,例如: class A { int a; public String toString() { return "a = " + a + "\t"; } } public class Test { public static void main(String[] args) { //一定要初始化,否则全部是空引用,声明引用的时候是不创建实例对象的 A[] arr = {new A(),new A(),new A()}; for(int i = 0;i < arr.length;i ++) arr[i].a = i * 10; print(arr); } static void print(A[] arr) { if(arr == null || arr.length == 0) throw new IllegalArgumentException(); else for(int i = 0;i < arr.length;i ++) System.out.print(arr[i]); System.out.println(); } } //a = 0 a = 10 a = 20 类的成员:字段,保存着对象的状态;方法,定义了对象的行为;嵌套类和嵌套接口 字段不可以同时是 final 的和 volatile 的,同 C++不同的是,字段可以在声明的时候初始化, 而且初始化的时候也不一定要使用编译常量,可以进行其他字段和方法的相互引用 java 对类型的检查比较好,而且确保每个变量在访问前都被初始化,例如对下面的语句,如 果将 a 声明在 try 语句中,肯定是不能被访问的,而如果在外部声明不进行初始化的时候, 编译器也是拒绝访问的 public static void main(String[] args) { int a = 3; try{ a = new A().get(); } catch(Exception e){} System.out.println("a = " + a);
2
java 程序设计语言
} 在类的声明中,如果使用函数进行初始化字段,一定要确保函数是安全的,因为如果函数抛 出异常是不能在类的声明中进行捕获的 java 对于局部变量是不进行自动初始化的, 而且如果没有在使用之前提供确切的初始化是拒 绝访问局部变量的, 而对于类的成员字段, 每个字段都是有默认的初始值的, false '\0000' 如: 0 +0.0 null 对于基本数据类型和 String 类型的字段,使用 final 初始化的编译常量是将数据直接放在字 节码种的而不是放在类的成员字段中的, 但是这也意味着如果要改变常量的值, 所有的引用 这个字段的地方都要被重新编译 对于一个 final 字段,在使用之前都必须被初始化,意味对以 final 字段,初始化的任务是程 序员本身而不是编译器, 编译器是不会自动提供默认呢的初始化值的. 而且对于类成员常量, 应该是在类的声明中被初始化的.但是如果将一个 final 的变量不定义为 static 的类型, 那么 对于以后创建的每个对象都可以有自己的 final 值,而创建为 static 的可以避免这个问题,而 且如果被声明为 static 的变量,那么是不可以在构造器中被初始化的,这时候就应该提供默 认值或者在初始化语句块中进行赋值 强调的是: protected 修饰的字段和方法是能被同一个包中的其他类所访问的, 即使这些类之 间没有继承关系.其中 protected private 类型的访问修饰符是不能用来修饰类和接口的,但 是可以用来修饰嵌套类和嵌套接口 在创建对象的时候, 如果发现内存不够, 那么系统就调用垃圾回收器来清理垃圾, 提供内存, 如果仍然不能提供足够的内存,就抛出 public class OutOfMemoryError(因为内存溢出或没 有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常)异 常.对于内存的管理,使用 new 创建对象,对于函数中的局部变量,当函数返回的时候, 局部变量就消失了,如果不需要某个类,可以将对象的引用设置为 null 即可 构造器可以有同其他类成员一样的访问修饰符,如果将某个类的所有的构造器都限制为 private,就可以防止其他使用这个类的程序创建这个类的实例了.如果是由编译器提供的默 认构造器,那么这个构造器同类具有相同的访问修饰符,就是如果类是 public 的,那么默 认构造器也是 public 的.构造器可以通过 throws 抛出异常,如果抛出异常,就必须在使用 new 的时候捕获这个异常,或者再次将异常抛出. class Tao { int a; Tao(int a) throws Exception {this.a = a;} Tao(Tao t) { this.a = t.a; System.out.println("复制构造函数被调用"); } } public class Test { public static void main(String[] args) throws Exception {
- java编译器 > 程序设计语言
-
程序设计语言
下载该文档 文档格式:PDF 更新时间:2009-02-01 下载次数:0 点击次数:2文档基本属性 文档语言: English 文档格式: pdf 文档作者: 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: 分类: 创建时间: 2009-07-07 18:35:20 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:计算机与工程问题解析导论
下一篇:ASP与JSP的比较
点击查看更多关于java编译器的相关文档
- 您可能感兴趣的
- 安卓java编译器 java编译器下载 java编译器jdk下载 java编译器安卓版 java编译器中文版下载 简单的java编译器 java编译器下载汉化版 怎么安装java编译器 ie8启用java编译器
- 大家在找
-
- · 中式家具cad图库
- · 20272001
- · 清华大学校花校草图
- · 龙管家伴侣试用下载
- · 布鲁士口琴
- · 同济6版高数课后答案
- · 济南音响修理
- · 初一地理上册ppt
- · 北京大学考研
- · VI课件
- · 大学英语泛读第三版
- · 工程流体力学闻德荪
- · 东风多利卡垃圾车
- · 北京药店转让百姓网
- · 煤科院重庆分院
- · novaa
- · cielitolindo
- · 西安电子科技大学80
- · ASP.NET程序设计教程与实训课件
- · m9安卓2.3和2.2的区别
- · 电焊工实践考卷
- · 福州外语外贸贴吧
- · 风行午夜影院
- · 履带吊司机招聘
- · 桥梁橡胶支座
- · 2010山东高考理综答案
- · 北京富婆找男过夜电话
- · 预拌砂浆jgt2302007
- · aotucad2006中文版
- · 机械工业部设计研究院
- 赞助商链接