java方法参数什么时候可以省略数据类型声明

问题描述

java方法参数什么时候可以省略数据类型声明

有时候我看到方法参数是一个匿名对象,那么匿名对象属于什么数据类型,是String类型吗,为什么没有数据类型的声明呢

解决方案

你说的匿名对象,是因为匿名对象本身是有返回值的,而返回值的类型恰好是构造方法的参数类型
A a = new A(new B());

解决方案二:

看方法的定义,里面包含参数类型。
不知道你说的匿名对象是什么,直接调用构造函数,你可以从构造函数类名知道类型,如果是匿名类,那么这个类型是编译器产生的,实现了参数需要的接口。

解决方案三:

匿名指的是变量名的匿名,而不是类型

解决方案四:

匿名对象是一个对象,哪还有什么数据类型呢

解决方案五:

你想说的是不是泛型编程,比如说ArrayList,T既可以是Interger或String等等类型。
首先这不是这不叫匿名对象,而叫做泛型编程,什么意思可以自己百度,语法就是尖括号里面加要使用泛型参数声明。比如,ArrayList、Map,
这些java标准库都用到了泛型编程。

时间: 2024-12-04 04:03:56

java方法参数什么时候可以省略数据类型声明的相关文章

内部类-java方法参数的修饰符问题

问题描述 java方法参数的修饰符问题 java在写方法时,为什么有的方法参数用final修饰? 还有就是内部类存在的意义是什么? 也就是说方法中的内部类和类中的内部类各有什么应用场景(请有实战经验的大神各自举个例子)? //问题补充(关于方法中的内部类) 我的意思是: pubic class TestClass{ public void fun(){ public class Test1{ //........ } } } 解决方案 为了实现一些内容,常常需要这么玩: public void

java方法参数传值传引用的一点看法

  java 跟C++不同,java的方法参数都是传值,没有传引用.很多人都以为是传引用,而且这种错误的观点很普遍,今天在这里具体分析一下.方法参数有基本类型,如int等,另外一种类型是OBJECT,对象.详细说一下方法参数是对象的,跟C++不同的是,JAVA方法参数传对象,传的是对这个对象引用的一份拷贝,即地址值,跟原来的引用都是指向同一个对象.所以说,JAVA方法参数传的都是值. 程序一 传的对象值是改变的.public class Test{public Test(){int [] cou

获取Java方法参数的名称

最近有个需求,需要获取java方法参数的名称,网上查了下,然后自己也实践了下,总结出3点: 1.能不能获取方法参数的名称取决于class文件里是否含有LocalVariableTable. 2.javac编译生成的class文件不含有LocalVariableTable,但是eclipse编译生成的class文件却含有LocalVariableTable. 3.有2种方式可以获得,用Asm和Javassist,Asm的性能略高. 贴代码: maven依赖: <dependency> <g

java方法参数带双引号和不带双引号的区别

问题描述 java方法参数带双引号和不带双引号的区别 java方法参数带双引号和不带双引号的区别 比如map.put( " billNum","订单编号", +stateStr); 为什么会有加号,难道方法参数还可以是一个运算表达式 解决方案 map.put( " billNum","订单编号", +stateStr); 这么写不合法 map.put( " billNum","订单编号"

Java方法参数是引用调用还是值调用?_java

方法调用(call by) 是一个标准的计算机科学术语.方法调用根据参数传递的情况又分为值调用( call by reference ) 和引用调用( call by value ) .江湖上有很多关于这两种调用的定义 ,最通常的说法是传递值的是值调用,传递地址的是引用调用.这其实很不恰当,这种 这些说法很容易让我们联想到Java的对象参数传递是引用调用,实际上,Java的对象参数传递仍然是值调用 . 我们首先用一段代码来证实一下为什么Java的对象参数传递是值调用. public class

java方法参数-java当中的方法的参数可以有n个不同类的对象吗

问题描述 java当中的方法的参数可以有n个不同类的对象吗 java当中的方法的参数可以有n个不同类的对象吗 java当中的方法的参数可以有n个不同类的对象吗 解决方案 可以 比如 button.setText(String str,int num,Mode mode) 解决方案二: DWR中Java方法的参数及返回值.对象javabean 解决方案三: 方法传参又没有限制,想传什么传什么! 解决方案四: 还可 test( Object... objs) 省略号里想传几个传几个

java中这个AdapterView&amp;amp;lt;?&amp;amp;gt; arg;泛型作为方法参数的时候&amp;amp;lt;?&amp;amp;gt;可以省略吗?

问题描述 java中这个AdapterView<?> arg:泛型作为方法参数的时候<?>可以省略吗? 这个AdapterView<?> arg:泛型作为方法参数的时候<?>可以省略吗? <?>感觉可有可无啊, 解决方案 应该可以的,泛型的类型不确定,加上?也是白加吧

Java方法的参数和返回类型统一为Map是否合理?

问题描述 开发一个Web应用. 主管要求 所有业务逻辑的Java方法参数和返回类型必须统一为Map类型.理由是将来扩展时接口不用修改.而且有多返回值的方法也好处理但是这样一来.返回一个String都要写成 Map resultMap = doXXXXX(paramMap);String result = (String)resultMap.get("resultStr");返回一个VOMap resultMap = doXXXXX(paramMap);XXXXVO resultVO =

java中什么情况下方法的参数可以省略数据类型而直接写数据?

问题描述 java中什么情况下方法的参数可以省略数据类型而直接写数据? 比如put(int 3); 什么情况下可以写put(3); 这里的put方法也没有方法体,什么情况下可以省略方法体呢 解决方案 put(int 3),有这种方式吗 put(int n)这种形式是方法的定义,当你使用put方法时,就直接传具体的值就行了 public int put(int n) { return n*10; } int m = put(10) 解决方案二: 对于你这种问法我是不解的,全局变量定义之后,局部变量