3
java 程序设计语言
Tao t = new Tao(3); System.out.println(t.a); Tao t2 = t;//只是引用的传递,而不是对象的复制 System.out.println(t2.a); Tao t3 = new Tao(t);//复制构造函数也是构造函数的一种,使用方法也一样 System.out.println(t3.a); } } 当然复制构造函数可以使用克隆来实现 关于初始化快的使用:是在类声明中位于构造器,成员函数之外的一个语句块,可以用来初 始化成员变量, 他们会在构造器调用之前被执行, 如果有多个语句块会按照在类中出现的顺 序被执行, 而且静态初始化块比非静态初始化块先调用, 而且静态初始化块只能引用类的静 态成员变量: class Tao { int a;final int b;static int c; Tao(int a) { System.out.println("构造函数被调用."); this.a = a; } { System.out.println("非静态初始化块被调用."); b = 5; } //静态初始化块比动态初始化块先调用 static { System.out.println("静态初始化块被调用."); c = 6; //使用的必须是静态成员 } } public class Test { public static void main(String[] args) { Tao t = new Tao(4); } } /*静态初始化块被调用. 非静态初始化块被调用. 构造函数被调用.*/ 对于类中的静态方法,只能引用静态成员,意味在静态方法中没有 this 指针,而非静态数据 必须使用对象引用来访问 public String toString()返回该对象的字符串表示.通常,toString 方法会返回一个"以文本方
4
java 程序设计语言
式表示"此对象的字符串,结果应是一个简明但易于读懂的信息表达式.建议所有子类都重 写此方法(每个子类都是继承自Object,都有这个方法) Object 类的 toString 方法返回一 . 个字符串,该字符串由类名+ "@"+对象哈希码的无符号十六进制表示组成.当使用对象名 而需要字符串的时候,会自动调用这个方法进行转换 引元个数可变的方法:最后的一个参数是可以变的引元,使用 …来表示,实际是创建一个 数组来保存: public class Test { public static void printInt(int ... num) { System.out.println("Showing the numbers:"); for(int i = 0;i < num.length;i ++) System.out.print(num[i] + "\t");System.out.println(); } public static void main(String[] args) { printInt(1,2,3,4); printInt(); } } /*Showing the numbers: 1 2 3 4 Showing the numbers:*/ 对于函数的返回类型,如果是单一的数据,可以直接返回,如果要返回多个数据,可以返回 对象引用,或者传入对象引用来改变对象的数据,或者返回数组(在 C 是不允许的) ,对于 返回对象引用一定要兼容,当然可以返回 Object 来解决问题 public class Test { public static int[] getArr() ! //Java 中可以返回数组,很恐怖! { int[] arr = {1,2,3}; return arr; } public static void change(final int[] a) { for(int i = 0;i < a.length;i ++) a[i] += 20; //如果使用 final = null,就会编译出错 } public static void print(final int[] a) { for(int i = 0;i < a.length;i ++) System.out.print(a[i] + "\t");System.out.println(); }
5
java 程序设计语言
public static void main(String[] args) { int[] a = getArr(); print(a); change(a); print(a); } } 当函数的参数被声明为 final 的时候,可以保证传入的参数不被改变,但是这个参数也只是 数据本身,比如传入的是一个对象引用,那么只能保证对象引用不引用新的对象,而不能保 证引用的变量不被改变的 对于参数的传递,java 使用的是对象引用传递,同其他语言的引用传递和指针传递是有区别 的,意味对象引用传递是一个引用的复制,当使用这个参数改变对象的时候,对象的数据会 被改变,单数如果将这个引用赋值为 null,那么原来的对象还是可以引用对象的,对象没有 消失 其实感觉 java 中的引用就想是 C 中的指针,而没有 C++中的真正的引用,引用变量就相当 于 C 中的指针变量 注意 java 中的 this 指针的使用,一般在访问的字段被局部变量或者参数声明的时候被隐藏 了的时候,可以使用 this 来区别,常常用在构造器中;另外,在构造器中可以使用 this 来引 用其他参数类型的构造器 对于函数的重载,如果函数中有可变参数的类型,对于函数的调用,如果参数匹配有完全匹 配的方法,此时即使有可变变元的方法匹配,也会优先调用确定变元的方法;而如果匹配的 都是有可变变元的,就会调用歧义: public class Test { public static void print(int a,int ... b) { System.out.println("使用 int int ... 类型的参数的方法"); System.out.print(a + "\t"); for(int i = 0;i < b.length;i ++) System.out.print(b[i] + "\t"); System.out.println(); } public static void print(int ... a) { System.out.println("使用 int ... 类型的参数的方法"); for(int i = 0;i < a.length;i ++) System.out.print(a[i] + "\t"); System.out.println(); } public static void print(int a,int b) { System.out.println("使用 int int 类型的参数的方法"); System.out.println(a + "\t" + b); } public static void main(String[] args)
- 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中文版
- · 机械工业部设计研究院
- 赞助商链接