`
wgs7909
  • 浏览: 5402 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

在static方法中,为什么不能引用类的类型参数?

阅读更多
在static方法中,为什么不能引用类的类型参数?

public class Arg< A , B > {
	public final A a;
	public final B b;
	
	static void setValue(A a,B b){ //This is error. 这里的类型A,B引用的是类中的类型参数。
		
	}
	Arg(A a,B b){
		this.a=a;
		this.b=b;
	}
	
	public String toString(){
		return "(" + a + "," + b + ")";
	}
	
}

分享到:
评论
2 楼 wgs7909 2008-01-16  
public class Arg< A , B > {
 public final A a;
 public final B b;
 
 static void setValue(A a,B b){ //This is error.
  
 }
 Arg(A a,B b){
  this.a=a;
  this.b=b;
 }
 
 public String toString(){
  return "(" + a + "," + b + ")";
 }
 
}

error部分为报错部分。这就是我所说的,静态方法中引用类的类型参数。书上写的不可以这么做,但我想知道为什么不可以?
1 楼 pizhou 2008-01-16  
不是很明白,举个例子?

相关推荐

    浅析Java引用类型和方法参数传递

    Java中,无论是值类型还是引用类型,在作为方法参数传递时,都遵循着一种被称为“按值传递”的机制。这意味着,当我们将一个变量作为参数传递给方法时,实际上传递的是该变量的一个副本。 ##### 1. 值传递 - **原理...

    java中final和static的区别

    4. 用 private 修饰的 static 成员变量和成员方法,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很...

    Java关键字final、static使用总结

    在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...

    day11_static、内部类、权限、参数传递、复习.pdf

    对于基本类型,这意味着无法在方法内部改变参数的原始值。对于对象,传递的是对象引用的副本,因此方法可以修改对象的属性,但不能更改引用本身。 总结: `static`关键字在Java中扮演着至关重要的角色,它定义了类...

    Java 程序显示类中 Static 关键字的用法.docx

    静态变量是 Java 中的一种特殊类型的变量,当变量被声明为静态时,就会创建该变量的单个副本,并在类级别的所有对象之间共享。静态变量本质上是全局变量。该类的所有实例共享相同的静态变量。 静态变量的要点: 1....

    java方法的参数传递其二.docx

    Java 方法参数传递是 Java 编程语言中的一种基本机制,在方法调用时将参数传递给方法体内的变量,但是在传递过程中,参数的类型会对传递结果产生影响。在本文中,我们将讨论 Java 方法参数传递中的引用类型传递。 ...

    static and final.

    - **全局变量**:虽然 Java 没有全局变量的概念,但 `public static` 的成员变量和方法在某种程度上可以被视为全局变量和全局方法,因为它们可以在不创建类实例的情况下被任意类访问。 - **私有静态变量**:可以...

    Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)

    - 接口中定义的方法必须在实现类中提供精确匹配的实现,包括方法的返回类型、名称和参数列表。 - 当通过接口引用调用方法时,该方法必须在接口中已经声明,并且在实现类中的实现必须与接口中定义的完全一致。 - 子类...

    值类型和引用类型的区别

    - 实际上是在托管堆上为引用类型分配内存,并将值类型的数据拷贝到该内存中。 - **拆箱**: - 将引用类型转换回值类型的过程。 - 从引用类型中获取值类型数据,并复制给值类型变量。 #### 7. 其他区别 - **继承...

    Java的引用和函数参数传递

    原因是尽管在方法内部交换了参数引用,但这并不会影响到外部的原始引用。 #### 六、深入理解引用传递 - **引用传递的本质**:Java中的引用传递本质上是传递对象的引用,而不是对象本身。这意味着在方法内部对对象...

    11.第十一章——this和static——static作为成员变量易混大补充(重要!)+引用数据类型作成员变量的作业分析.pdf

    - `static` 不能用于修饰类本身,也不能用于修饰局部变量。 - `static` 变量通常被称为“静态变量”,`static` 方法称为“静态方法”。 #### 二、变量的分类 - **局部变量**: 定义在方法体内的变量,其作用域仅...

    Java语言中参数值传递和引用传递比较.pdf

    而在引用类型参数的引用传递中,实际参数的引用(地址)被复制给形式参数,对形参对象内容的改变将影响实际参数对象的内容。例如,在一个简单的示例程序中,我们可以看到引用类型参数的引用传递方式: public class...

    Java面向对象(高级)- static关键字的使用

    - 静态变量在JDK6中存储在方法区(Method Area),JDK7中移到了元空间(MetaSpace),JDK8后元空间进一步优化,但基本概念保持不变,静态变量存储在类的元数据中,与对象实例无关。 6. **开发中的注意事项**: - ...

    day003【String类、static、Arrays类、Math类】.pdf

    static关键字用于创建类变量和类方法,意味着这些变量和方法属于类,而不是属于类的某个特定对象。静态变量可以通过类名直接调用,而不需要创建类的实例。静态代码块用于初始化静态变量,它在类被加载时执行,并且只...

    java中传值还是传引用的的认识

    Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的;没有一种按引用传递。 按值传递意味着当将一个参数传递...

    Java是传值还是传址引用

    这意味着可以在方法内部修改对象的状态而不影响原始对象的引用,但如果重新赋值引用,则不会影响原始对象。 - 引用是一种数据类型,用于存储对象在内存中的地址。不同的引用可以指向同一个对象,但每个引用本身都是...

    java中传值与传引用

    2. 对于引用类型,参数是引用的副本,函数可以修改对象的属性,但不能改变引用本身。如果通过引用修改了对象的属性,这些改变会影响到实参引用的对象。 理解这一点对于编写Java程序至关重要,因为它影响到函数如何...

    static 用法

    在C语言中,`static`关键字有了第二种含义:用来表示不能被其他文件访问的全局变量和函数。在C语言中,如果想要限制全局变量或函数的作用域仅限于本文件(即内部函数),可以在声明这些全局变量或函数时使用`static`...

    XSLT 调用 Java 的类方法

    在这个Java类中,定义了一个静态方法`replace`,该方法接收一个字符串参数,并将字符串中的"unmi"替换为"unmi.cc"。 ##### 3. XML 输入文件 (example.xml) ```xml &lt;name&gt;unmi &lt;blog&gt;http://unmi.cc&lt;/blog&gt; ...

Global site tag (gtag.js) - Google Analytics