实例方法和类方法

简介: 类中的方法也可分为实例方法和类方法。在方法前面加上static就成了类方法,例如: view plaincopy to clipboardprint? public class Example {          float a, b;           ...
类中的方法也可分为实例方法和类方法。在方法前面加上static就成了类方法,例如:
  1. public class Example {     
  2.     float a, b;     
  3.     
  4.     void sum(float x, float y)     
  5.     // 实例方法      
  6.     {     
  7.         a = max(x, y);     
  8.         b = min(x, y);     
  9.     }     
  10.     
  11.     static float getMaxSqrt(float x, float y) // 类方法      
  12.     {     
  13.         float c;     
  14.         c = max(x, y) * max(x, y);     
  15.         return c;     
  16.     }     
  17.     
  18.     static float max(float x, float y) // 类方法      
  19.     {     
  20.         return x 
  21.     }     
  22.     
  23.     float min(float x, float y)     
  24.     // 实例方法      
  25.     {     
  26.         return x 
  27.     }     
  28. }    
  29. public class Example {  
  30.  float a, b;  
  31.   
  32.  void sum(float x, float y)  
  33.  // 实例方法   
  34.  {  
  35.   a = max(x, y);  
  36.   b = min(x, y);  
  37.  }  
  38.   
  39.  static float getMaxSqrt(float x, float y) // 类方法   
  40.  {  
  41.   float c;  
  42.   c = max(x, y) * max(x, y);  
  43.   return c;  
  44.  }  
  45.   
  46.  static float max(float x, float y) // 类方法   
  47.  {  
  48.   return x 
  49.  }  
  50.   
  51.  float min(float x, float y)  
  52.  // 实例方法   
  53.  {  
  54.   return x 
  55.  }  
  56. }  
public class Example { float a, b; void sum(float x, float y) // 实例方法 { a = max(x, y); b = min(x, y); } static float getMaxSqrt(float x, float y) // 类方法 { float c; c = max(x, y) * max(x, y); return c; } static float max(float x, float y) // 类方法 { return x

一个类中的方法可以互相调用。但要注意:实例方法可以调用该类中的其他方法,例如,sum()可以调用max()和min()。类方法只能调用其他类方法,不能调用实例方法。例如,getMaxSqrt()只能调用max()而不能调用min()。

当类文件加载到内存时,实例方法不会被分配内存空间,只有在对象创建之后才会分配。而类方法在该类被加载到内存时就分配了相应的内存空间。

实例方法既能对类变量操作也能对实例变量操作。

类方法只能访问其他static方法。

类方法只能访问其他static数据,例如,类变量。

目录
相关文章
|
8月前
|
C#
C# 继承类中(父类与子类)构造函数的调用顺序
C# 继承类中(父类与子类)构造函数的调用顺序
|
10月前
|
程序员
为什么子类会调用父类无参的构造函数
为什么子类会调用父类无参的构造函数
|
10月前
|
Java 编译器
构造函数中为什么要用this关键字?
构造函数中为什么要用this关键字?
47 0
|
11月前
|
编译器 定位技术
在父类的构造函数中调用虚函数为什么不能实现多态
在父类的构造函数中调用虚函数为什么不能实现多态
77 0
|
Java
16 类变量(静态变量)与类方法(静态方法)
1 .静态变量 静态变量指在类中被static修饰的变量
74 0
|
C++
C++类的静态方法
C++类的静态方法
63 0
|
开发者 Python
类方法和静态方法 | 学习笔记
快速学习类方法和静态方法,介绍了类方法和静态方法系统机制, 以及在实际应用过程中如何使用。
82 0
类方法和静态方法 | 学习笔记
|
开发者 Python
类方法和静态方法回顾|学习笔记
快速学习类方法和静态方法回顾
76 0
类方法和静态方法回顾|学习笔记
|
存储 Java
类变量和类方法
类变量和类方法