Java static方法用法实战案例总结

本文实例讲述了Java static方法用法。分享给大家供大家参考,具体如下:

一 点睛

用static可以声明一个静态属性变量,其实,也可以用来声明方法,用它声明方法时也称为“类方法”。使用static定义的方法可以由类名直接调用。

static的main方法可以接收一个String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数。格式如下:

java 类名称 参数1 参数2 参数3

二 实战——静态方法的声明

1 代码

class Person
{
  String name;             //定义name属性
  private static String nation = "中国"; //定义静态属性nation
  int age;              //定义age属性
  public Person(String name, int age) //声明一个有参的构造方法
  {
    this.name = name;
    this.age = age;
  }
  public String talk()        //声明了一个talk()方法
  {
    return "我是:" + this.name + ",今年:" + this.age + "岁,来自:" + nation;
  }
  public static void setNation(String nat)//声明一个静态方法,给静态变量赋值
  {
    nation = nat;
  }
}
public class StaticMethod
{
  public static void main(String[] args)
  {
    Person p1 = new Person("张三", 25);
    Person p2 = new Person("李四", 30);
    Person p3 = new Person("王五", 35);
    System.out.println("修改之前信息:" + p1.talk());
    System.out.println("修改之前信息:" + p2.talk());
    System.out.println("修改之前信息:" + p3.talk());
    System.out.println("  **************修改之后信息**************");
    // 修改后的信息
    Person.setNation("美国");
    System.out.println("修改之后信息:" + p1.talk());
    System.out.println("修改之后信息:" + p2.talk());
    System.out.println("修改之后信息:" + p3.talk());
  }
}

2 运行

修改之前信息:我是:张三,今年:25岁,来自:中国
修改之前信息:我是:李四,今年:30岁,来自:中国
修改之前信息:我是:王五,今年:35岁,来自:中国
   **************修改之后信息**************
修改之后信息:我是:张三,今年:25岁,来自:美国
修改之后信息:我是:李四,今年:30岁,来自:美国
修改之后信息:我是:王五,今年:35岁,来自:美国

3 说明

static类型的方法:只能调用static类型的属性,不能调用非static类型的属性。

非static类型的方法:既可以调用static类型的属性,也可以调用非static类型的属性。

三 实战——向main方法传递参数

1  代码

/*
* public:表示公共方法
* static:表示此方法为一静态方法,可以由类名直接调用
* void:表示此方法无返回值 main:系统定义的方法名称
* String args[]:接收运行时参数
*/
public class TestMain
{
  public static void main(String[] args)
  {
    //取得输入参数的长度
    int len = args.length;
    System.out.println("输入的参数个数:" + args.length);
    if(len < 2)
    {
      System.out.println("输入参数个数有误!" );
      //退出程序
      System.exit(-1);
    }
    for(int i = 0; i < args.length; i++)
    {
      System.out.println( args[i] );
    }
  }
}

2 运行

E:\Java\Java编程技术大全\范例源码、实战练习答案、赠送资源\实战练习答案>javac TestMain.java
 
E:\Java\Java编程技术大全\范例源码、实战练习答案、赠送资源\实战练习答案>java TestMain
输入的参数个数:0
输入参数个数有误!
 
E:\Java\Java编程技术大全\范例源码、实战练习答案、赠送资源\实战练习答案>java TestMain first second third
输入的参数个数:3
first
second
third

四 实战——利用Scanner向主方法中传递参数

1 代码

import java.util.Scanner;
public class ScannerTest
{
   public static void main(String[] Test)
   {
      Scanner sc = new Scanner(System.in);
      while (sc.hasNext())
      {
        System.out.println("键盘输入的内容是:" + sc.next());
      }
      sc.close();
   }
}

2 运行

222
键盘输入的内容是:222
111
键盘输入的内容是:111
333
键盘输入的内容是:333

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • 详解Java编程中static关键字和final关键字的使用

    Java static关键字以及Java静态变量和静态方法 static 修饰符能够与变量.方法一起使用,表示是"静态"的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同. 请看下面的例子: public class Demo { static int i = 10; int j; Demo() { this.j

  • 详解Java基础篇--面向对象1(构造方法,static、this关键字)

    面向对象,面向过程的区别.拿下五子棋来说: 面向过程分析: 开始游戏 黑棋先走 绘制画面 判断输赢 轮到白棋 绘制画面 判断输赢 返回步骤2 输出结果 面向对象分析: 黑白双方,双方行为是一模一样的 棋盘系统,负责绘制画面 规则系统,判断犯规.输赢 传统的面向过程编程是思考问题的解决步骤,这种思维方式适用于问题规模较小时.可是当问题规模大,要求程序有更好的可扩展性,能更快速地查错时面向对象设计思想就能体现出其优势.面向对象更接近人类地自然思维方式,将现实世界中的事物抽象为对象和对象的方法. 面向

  • Java中的static静态代码块的使用详解

    一.与静态方法的比较 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口.两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的. 二.静态方法注意事项 使用类的静态方法时,注意: a.在静态方法里只能直接调用同类中其他的静态成员(包括变量

  • 详解Java编程中protected修饰符与static修饰符的作用

    protected 来谈谈protected访问权限问题.看下面示例1: Test.java class MyObject {} public class Test { public static void main(String[] args) { MyObject obj = new MyObject(); obj.clone(); // Compile error. } } 此时出现上文提到的错误:The method clone from the type Object is not v

  • Java中static关键字的作用和用法详细介绍

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是

  • Java中的static的使用指南

    一.Java中的static使用之静态变量 1.Java 中被static修饰的成员称为静态成员或类成员.它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享.且优先于对象存在.静态成员可以使用类名直接访问,也可以使用对象名进行访问.使用 static 可以修饰变量.方法和代码块. 2.public 修饰符表示公开的.公有的,静态变量使用static修饰 3.静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员. public class HellWorld{ String

  • 浅谈Java中static和非static的区别

    关于static和非static变量的区别 1. static 修饰的变量称为类变量或全局变量或成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在.非static修饰的成员变量是在对象new出来的时候划分存储空间,是与具体的对象绑定的,该成员变量仅为当前对象所拥有的. 2. static修饰的变量在加载的时候先于main方法加载在内存中的数据共享区-------方法区,而非static的变量在加载的时候,是要创建变量才加载在堆内存中的. 3. 一个stat

  • JAVA中static方法的用法实例详解

    本文实例讲述了JAVA中static方法的用法.分享给大家供大家参考,具体如下: static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享.只要这个类被加载,Java虚拟机就能根据类名在运行时数据区或者方法区内找到他们.因此,static对象可以在它的任何对象创建之前访

  • 详解Java8新特性之interface中的static方法和default方法

    为什么要单独写个Java8新特性,一个原因是我目前所在的公司用的是jdk8,并且框架中用了大量的Java8的新特性,如上篇文章写到的stream方法进行过滤map集合.stream方法就是接口Collection中的default方法.所以准备专门写写关于java8新特性的文章,虽然现在10已经发布了.但还是要认真的去了解下新版本的变化. static方法 java8中为接口新增了一项功能:定义一个或者更多个静态方法.用法和普通的static方法一样. 代码示例 public interface

  • Java中static静态变量的初始化完全解析

    静态变量初始化顺序 1.简单规则 首先先看一段最普遍的JAVA代码: public class Test { public static Test1 t = new Test1(); public static int a = 0; public static int b; public static void main(String[] arg) { System.out.println(Test.a); System.out.println(Test.b); } } class Test1

随机推荐