• java编译器 > 程序设计语言
  • 程序设计语言

    免费下载 下载该文档 文档格式:PDF   更新时间:2009-02-01   下载次数:0   点击次数:2
    文档基本属性
    文档语言:English
    文档格式:pdf
    文档作者:
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    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)

    上一页下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 安卓java编译器  java编译器下载  java编译器jdk下载  java编译器安卓版  java编译器中文版下载  简单的java编译器  java编译器下载汉化版  怎么安装java编译器  ie8启用java编译器