博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA学习笔记7 - 方法
阅读量:2134 次
发布时间:2019-04-30

本文共 995 字,大约阅读时间需要 3 分钟。

概况

方法的定义与C++句法非常接近。

但貌似方法都依赖于类而存在。

注意static关键字调用的自身类的方法也必须是static类型的。

作用域与参数传递

作用域和C++的概念基本一致,甚至包括花括号的作用域。

注意,在Java中,对象都是采用“引用”来表达的。所以在对象的赋值过程中,都是引用本身的赋值,而对象本身并没有被拷贝。在Java的方法(函数)都是传值的,对于对象,实际上传递的是对象的引用。所以在函数内部,对型参数直接赋值,在函数返回后,实参数是不受到影响的。但是在函数内部,对型参数的属性进行赋值,函数返回后,实参数的属性会发生相应变化。请看下方这个玩死自己的代码。

class Dummy{	Integer v;		public Dummy(Integer value)	{		this.v = value.intValue();	}}class Util {	public void swapTwo(Dummy d0, Dummy d1)	{		Integer temp = d0.v.intValue();		d0.v = d1.v.intValue();		d1.v = temp.intValue();	}}public class MainClass {	public static void main(String[] args) {		Dummy d0 = new Dummy(0);		Dummy d1 = new Dummy(1);				System.out.println("d0.v = " + d0.v + ", d1.v = " + d1.v);		u.swapTwo(d0, d1);		System.out.println("d0.v = " + d0.v + ", d1.v = " + d1.v);	}}
执行这个Java类之后,d0和d1的v属性将会发生变化,但是d0和d1仍然指向(引用)原始的内存。通过这个例子,也可看出,在正常编码时,没有必要使用Integer这样的内部类,使用类型int对于C++程序员而言更好理解。

Java支持可变数量的相同类型参数。

方法的重载

和C++的要求基本类似,依靠参数表作为签名,不能依靠修饰符和返回值类型。

finalize()方法

有些类似于C++的析构函数,一般为protected修饰。

转载地址:http://rsugf.baihongyu.com/

你可能感兴趣的文章
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
一个隐马尔科夫模型的应用实例:中文分词
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
机器学习算法应用中常用技巧-2
查看>>
通过一个kaggle实例学习解决机器学习问题
查看>>
决策树的python实现
查看>>
Sklearn 快速入门
查看>>
了解 Sklearn 的数据集
查看>>
用ARIMA模型做需求预测
查看>>
推荐系统
查看>>
详解 TensorBoard-如何调参
查看>>
TensorFlow-11-策略网络
查看>>
浅谈 GBDT
查看>>