- 浏览: 41385 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
文章分类
最新评论
-
Demin7926:
正好想要这样的数据,而且最好还是.mdf的,但还是不错了,多谢 ...
中国地区数据库Access c#生成sql数据文件 -
zhuzidian:
1.这个classpath是没有必要设置的,那几个jar默认会 ...
Java开发环境的搭建 -
蜡笔小新:
收下
请问第2条中,J2EE开发环境下载什么样的sdk呢?
Java开发环境的搭建
package book.oo; public class PassParamter { public PassParamter() { } public void methodA(ComplexNumber comNum) { // comNum这个引用指向了一个新new出来的对象。 comNum = new ComplexNumber(1, 2); } public void methodB(ComplexNumber comNum) { // comNum这个引用指向的还是同一个对象,但是,这里修改该对象的值。 comNum.setRealPart(1); comNum.setRealPart(2); } public void methodC(int num) { // 将num的值加1 num++; } public static void main(String[] args) { PassParamter test = new PassParamter(); ComplexNumber comNum = new ComplexNumber(5, 5); System.out.println("调用methodA方法之前,comNum: " + comNum.toString()); test.methodA(comNum); System.out.println("调用methodA方法之后,comNum: " + comNum.toString()); System.out.println("调用methodB方法之前,comNum: " + comNum.toString()); test.methodB(comNum); System.out.println("调用methodB方法之后,comNum: " + comNum.toString()); int num = 0; System.out.println("调用methodC方法之前,num: " + num); test.methodC(num); System.out.println("调用methodC方法之后,num: " + num); // 调用methodA方法之前,comNum: 5.0 + 5.0i // 调用methodA方法之后,comNum: 5.0 + 5.0i // 调用methodB方法之前,comNum: 5.0 + 5.0i // 调用methodB方法之后,comNum: 2.0 + 5.0i // 调用methodC方法之前,num: 0 // 调用methodC方法之后,num: 0 /** * Java的参数传递策略: * 0,所谓传值的意思是:在调用方法时,将参数的值复制一份,方法里面用复件,方法外面用原件,复件改变了,不影响原件;原件改变了,不影响复件。 * 1,对于基本数据类型,比如int,long等类型,采用传值的策略。将参数的值复制一份后传给方法,方法可以改变参数值的复件,但不会改变参数值的原件。 * 2,对于对象类型,也采用的传值策略,不过,是将参数的引用复制(2个引用指向同一个对象)一份传给方法,方法可以改变参数引用的复件,但不会改变参数引用的原件。 * * 解释三个输出: * 1,调用methodA方法时,首先将comNum对象的引用复制一份,将引用的复件传递给methodA方法,main方法保持引用的原件,此时,引用原件和引用复件都指向comNum对象。 * 执行comNum = new ComplexNumber(1,2);语句后,将引用复件指向了另外一个新的对象,此时,引用复件和引用原件指向的是不同的对象。回到main方法时,操作的仍然是引用原件指向的comNum对象。 * 2,调用methodB方法时,首先将comNum对象的引用复制一份,将引用的复件传递给methodB方法,main方法保持引用的原件,此时,有引用原件和引用复件都指向comNum对象。 * 执行comNum.setRealPart(1);comNum.setRealPart(2);语句后,修改了引用复件所指对象的内容,而此时,引用复件和引用原件指向的是同一个对象,因此,引用原件指向的对象的内容也改变了。回到main方法时,comNum对象也改变了。 * 3,调用methodC方法时,首先将num的值复制一份,将值的复件传递给methodC方法,main方法保持值的原件。 执行num * ++;语句后,复件的值会加1。回到main方法时,操作的仍然是原件,值保持不变。 */ } }
发表评论
-
JDK_实例(求指定范围内的质数)
2009-11-20 14:15 845package book.arrayset; impor ... -
JDK_实例(使用Arrays)
2009-10-29 13:28 697package book.arrayset; impor ... -
JDK_实例(处理大数字)
2009-10-29 13:21 1036package book.number; import ... -
JDK_实例(生成随机数)
2009-10-29 13:20 1936package book.number; import ... -
JDK_实例(转换数字的进制)
2009-10-29 13:16 985package book.number; /** * ... -
JDK_实例(数字的舍入)
2009-10-29 13:14 917package book.number; import ... -
JDK_实例(格式化数字)
2009-10-29 13:05 579package book.number; import ... -
JDK_实例(数字和数字封装类)
2009-10-29 13:02 713package book.number; /** * ... -
JDK_实例(Adapter 适配器模式)
2009-10-29 12:43 1493接口 package book.oo.sort; / ... -
JDK_实例(Factory工厂模式)
2009-10-29 12:39 839接口 package book.oo.factory; ... -
JDK_实例(Singleton单列模式)
2009-10-29 12:35 1025A package book.oo.singleton; ... -
JDK_实例(排序类)
2009-10-29 12:29 1048排序接口 package book.oo.sort; ... -
JDK_实例(方法与变量在继承时的覆盖和隐藏)
2009-10-29 12:24 782父类 package book.oo.cov ... -
JDK_实例(类的加载顺序)
2009-10-29 12:20 720父类 package book.oo.initorder; ... -
JDK_实例(自定义形状类)
2009-10-29 12:12 788长方形 package book.oo; ... -
JDK_实例(复数类)
2009-10-29 11:52 847package book.oo; public clas ... -
JDK_实例(命令行程序)
2009-10-29 11:29 667package book.basic; public c ... -
JDK_实例(计算阶乘)
2009-10-29 11:28 699package book.basic; public c ... -
JDK_实例(控制程序流程)
2009-10-29 11:27 549package book.basic; public c ... -
JDK_实例(java 运算符)
2009-10-29 11:24 792package book.basic; public c ...
相关推荐
Lambda可以作为参数传递,返回值也可以是Lambda,增强了函数式编程的能力。 2. **方法引用和构造器引用**:与Lambda表达式配合使用,方法引用允许直接引用类的静态方法或实例方法,而构造器引用则可以直接创建对象...
它们允许将函数作为参数传递给方法,或者将代码视为数据进行操作。 2. **方法引用来替代匿名内部类**:在Java 8中,你可以直接引用一个静态方法或实例方法,而无需创建匿名内部类。 3. **默认方法**:接口中可以...
10. **Type Inference for Generic Instance Creation**:Java 8允许在创建泛型实例时省略类型参数,编译器会自动推断出类型。 这些是Java 8,尤其是JDK 1.8.0_172版本中的关键知识点。使用这个版本的JDK,开发者...
1. **Lambda表达式**:Java 8引入了函数式编程的关键元素——lambda表达式,它允许将匿名函数作为方法参数传递,使得代码更简洁,特别是在处理集合操作时。 2. **方法引用来替代匿名类**:在Java 8中,你可以直接...
10. **类型注解**:JDK 1.8扩展了注解的使用范围,现在可以在类型参数、类型变量、泛型通配符、方法和构造器返回类型、数组维度以及类的实例初始化器上使用注解。 要安装JDK 1.8,用户可以找到压缩包中的"jdk_8.0....
Java API 5.0是Java开发工具包(JDK)5.0版本的重要组成部分,它提供了丰富的类库和接口,供开发者使用。这个版本引入了许多关键的改进和新特性,对于理解和开发Java应用程序至关重要。以下将详细介绍Java API 5.0的...
Lambda表达式可以被视为匿名函数,它可以作为方法参数传递,也可以存储在变量中。 2. **方法引用和构造器引用**:与Lambda表达式紧密相关,这些新特性允许开发者直接引用已有方法或构造器,而无需编写新的匿名类...
JDK,全称为Java Development Kit,是Oracle公司提供的用于开发和运行Java应用程序的软件包。在Java编程世界中,JDK扮演着至关重要的角色,它是开发者的必备工具,为编写、编译、调试以及运行Java程序提供了完整的...
然后将Runnable对象作为参数传递给Thread的构造器,创建Thread对象并启动。这种方式更为灵活,因为类可以同时实现多个接口。 3. **使用ExecutorService和Callable接口**:JDK 1.5引入的Executor框架允许更高级别的...
1. **Lambda表达式**:引入了函数式编程的概念,允许将匿名函数作为参数传递,简化了回调和事件处理的代码。 2. **Stream API**:提供了一种新的集合操作方式,支持序列化处理,可用于过滤、映射、聚合等操作,使得...
Lambda可以作为参数传递,也可以作为返回值,大大简化了处理集合的操作,如Stream API的使用。 2. **Stream API**:Stream API提供了一种新的数据处理方式,支持序列化操作,如过滤、映射、排序等。它允许开发者以...
Java 可变参数是指在方法中可以传递同类型的可变参数,JDK 1.5 开始支持这种特性。可变参数可以使得方法更加灵活、方便使用。可变参数的使用规则包括:可以不写参数,即传入空参;可以直接在里边写入参数,参数间用...
1. **Lambda表达式**:Java 8引入了lambda表达式,这是一种简洁的函数式编程语法,允许将匿名函数作为参数传递给方法,简化了多线程编程和处理集合数据的操作。 2. **函数式接口**:为了支持lambda表达式,Java 8...
Lambda允许将代码块作为参数传递给方法,这在实现函数式编程风格时非常有用,特别是在处理集合操作时。 2. **函数式接口**:为了支持Lambda,Java 8引入了函数式接口的概念。这些接口只能包含一个抽象方法,比如`...
1. **Lambda表达式**:引入了函数式编程概念,允许将代码作为参数传递,简化多线程和集合操作。 2. **Stream API**:提供了处理集合的新方式,可以进行高效的并行计算,支持过滤、映射、归约等操作。 3. **默认...
7. **可变参数(Varargs)**:允许方法接受任意数量的相同类型的参数,以数组的形式传递。 8. **静态导入(Static Import)**:可以静态地导入一个类的所有静态成员,避免重复的类名前缀。 9. **集合框架的改进...
Lambda表达式允许将匿名函数作为方法参数传递,或者直接定义为变量,使得代码更加紧凑和易读。 其次,Java 8引入了Stream API,这是处理集合数据的新方式。Stream API提供了大量操作符,如filter、map和reduce,...
Lambda表达式允许你将匿名函数作为参数传递,或者用作返回值。例如,你可以用lambda来定义一个简单的函数,如 `(int a, int b) -> a + b`,表示两个整数相加。 2. **方法引用**:方法引用是与lambda表达式相关的另...
Java Development Kit(JDK)是Oracle公司提供的用于开发和运行Java应用程序的软件工具包。这个"jdk-8u221安装包.zip"文件包含了JDK 8的更新221版本,它是一个免费的版本,适用于那些需要进行Java编程或者需要在系统...
可变参数允许方法接收任意数量的相同类型参数,通过数组的形式传递。这对于函数式编程风格的实现提供了便利。 9. **类型安全的异常(Checked Exception)** Java 5.0改进了异常处理机制,引入了类型安全的异常...