java 对象的this使用 java方法中参数传递特性 方法的递归

一。this关键字,使用的情形,以及如何使用。

  1.使用的情形

    类中的方法体中使用this  --初始化该对象

    类的构造器中使用this --引用,调用该方法的对象

  2.不写this,调用

  只要方法或者构造器中  不存在成员变量与局部变量同名的情况,可直接不写this

  否则方法中或构造器中使用的就是局部变量

  3.static

  静态方法不能调用this,不能调用任何非static修饰的成员变量 或者方法

二。java方法中  参数传递特性

  1.基本数据类型--实际是新增变量,并赋值而已   不过代码执行什么  原来的参数是会发生改变的

  2.引用数据类型--实际是新增的变量,并把内存地址指向实参  随着内存的变化,原来的参数会改变

三。 方法递归,需要注意static问题,以及死循环问题,不多介绍

四。方法的重载

  实际是指  修饰符 返回值  方法名 都相同  形参不同的N个方法  叫重载

  提示:形参 String  ... a 实际上等同于  String [] a;

时间: 2024-08-27 21:37:18

java 对象的this使用 java方法中参数传递特性 方法的递归的相关文章

Spring中的AOP(五)——在Advice方法中获取目标方法的参数

摘要: 本文介绍使用Spring AOP编程中,在增强处理方法中获取目标方法的参数,定义切点表达式时使用args来快速获取目标方法的参数. 获取目标方法的信息 访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点.JoinPoint里包含了如下几个常用的方法: Object[] getArgs:返回目标方法的参数 Signature getSignature:返回目标方法的签名 Ob

Spring中的AOP——在Advice方法中获取目标方法的参数(转)

获取目标方法的信息 访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点.JoinPoint里包含了如下几个常用的方法: Object[] getArgs:返回目标方法的参数 Signature getSignature:返回目标方法的签名 Object getTarget:返回被织入增强处理的目标对象 Object getThis:返回AOP框架为目标对象生成的代理对象 注意:当使

MVC 如何在一个同步方法(非async)方法中等待async方法

MVC 如何在一个同步方法(非async)方法中等待async方法 问题 首先,在ASP.NET MVC 环境下对async返回的Task执行Wait()会导致线程死锁.例: public ActionResult Asv2() { //dead lock var task = AssignValue2(); task.Wait(); return Content(_container); } private void Assign() { _container = "Hello World&q

Objective-C, 为什么不能在init或是dealloc方法中使用accessor方法

曾经阅读过苹果公司官方文档"Advanced Memory Management Programming Guide",对于为什么不能在init和dealloc方法中使用accessor方法一事,一直不明白.自己平时的工作实践中,貌似也没发现过有啥问题.直到今天,在调试一个错误的时候,才猛然间明白了其中的原因. 之所以不能在init和dealloc中使用accessor,是因为我们要提防:子类有可能会覆盖父类的accessor方法,并改变accessor方法的行为. 参考代码: #im

【java代码之美】---Java8 Map中的computeIfAbsent方法

Map中的computeIfAbsent方法 Map接口的实现类如HashMap,ConcurrentHashMap,HashTable等继承了此方法,通过此方法可以在特定需求下,让你的代码更加简洁. 一.案例说明 1.概述 在JAVA8的Map接口中,增加了一个方法computeIfAbsent,此方法签名如下: public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction) 此方法首先判断缓存

ASP.NET MVC 如何在一个同步方法(非async)方法中等待async方法

问题 首先,在ASP.NET MVC 环境下对async返回的Task执行Wait()会导致线程死锁.例: public ActionResult Asv2() { //dead lock var task = AssignValue2(); task.Wait(); return Content(_container); } private void Assign() { _container = "Hello World"; } public async Task AssignVa

springMVC在普通方法中调用service方法

SpringContextUtil类 package com.common.util; import org.springframework.beans.BeansException;import org.springframework.beans.factory.NoSuchBeanDefinitionException;import org.springframework.context.ApplicationContext;import org.springframework.contex

java 多种判断key是否在map中存在的方法

java 中有时候会遇到判断传过来的map里是否包含了指定的key,我目前只发现两种办法,如果有其他方法欢迎补充 我添加上去: HashMap map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); Iterator keys = map.keySet().iterator(); while(keys.hasNext()){ String key

python中参数传递的方法

Python中函数传递参数的形式主要有以下五种,分别为位置传递,关键字传递,默认值传递,不定参数传递(包裹传递)和解包裹传递. 1.位置传递实例: def fun(a,b,c) return a+b+c print(f(1,2,3)) 2.关键字传递 关键字(keyword)传递是根据每个参数的名字传递参数.关键字并不用遵守位置的对应关系. def fun(a,b,c) return a+b+c print(f(1,c=3,b=2)) 3.参数默认值 在定义函数的时候,使用形如c=10的方式,可