[Java] Java 中的 static 使用之静态方法

[复制链接]

52

主题

57

帖子

347

积分

版主

代码控

Rank: 7Rank: 7Rank: 7

积分
347

突出贡献优秀版主荣誉管理

QQ
422 0 joy 发表于 2016-12-30 00:55:08


  与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。

  其实之前我们一直写的 main 方法就是静态方法。
  静态方法的使用如:
  1. public class HelloWorld{
  2.     // 使用static关键字声明静态方法
  3.     public static void print(){
  4.         System.out.println("欢迎您:爱慕课!");
  5.     }
  6.     public static void main(String[] args){
  7.         // 直接使用类名调用静态方法
  8.         HelloWorld.print();

  9.         // 也可以通过对象名调用,当然更推荐使用类名调用的方式
  10.         HelloWorld demo = new HelloWorld();
  11.         demo.print();
  12.     }
  13. }
复制代码


  运行结果:
  1. 欢迎您:爱慕课!
  2. 欢迎您:爱慕课!
复制代码


  需要注意:
  1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:
5392d6eb0001283007020239.jpg


  如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:
  1. // 在静态方法中调用非静态变量
  2. public static void print(){
  3.     // 创建类的对象
  4.     HelloWorld hello = new HelloWorld();
  5.     // 通过对象来实现在静态方法中调用非静态变量
  6.     System.out.println("欢迎您:" + hello.name + "!");
  7.     System.out.println("爱好:" + hobby + "!");
  8. }
复制代码


  2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:
  1. String name = "爱慕课";  // 非静态变量name
  2. static String hobby = "imooc";  //  静态变量hobby
  3. // 普通成员方法可以直接访问非静态变量和静态变量
  4. public void show(){
  5.     System.out.println("欢迎您:" + name + "!");
  6.     System.out.println("爱好:" + hobby + "!");
  7. }
复制代码


  3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:
  1. // 普通成员方法
  2. public void show(){
  3.     System.out.println("welcome to imooc");
  4. }
  5. // 静态方法
  6. public static void print(){
  7.     System.out.println("欢迎来到爱慕课");
  8. }
  9. public static void main(String[] args){
  10.     // 普通成员方法必须通过对象来调用
  11.     HelloWorld hello = new HelloWorld();
  12.     hello.show();
  13.     // 可以直接调用静态方法
  14.     print();
  15. }
复制代码



夜深人静之时,头发斑白的老程序员会蜷缩在床上,欣赏一段精彩的子程序,或者苦思冥想一个绝妙的宏结构;而那些年少轻狂的程序员,则可能正在通过终端与别人聊得不亦乐乎。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本专栏主要提供Java相关技术的学习交流。望大家积极踊跃发言,共建一个良好的学习环境!
  • 今日
    0
  • 主题
    366

推荐阅读

精选帖子

Archiver|手机版|小黑屋| 极客社区 ( 京ICP备14042200号-2 )

Powered by 张董丶 X3.2 © 2016-2026

返回顶部 返回列表