Java static修饰方法 您所在的位置:网站首页 java语言中静态变量用什么修饰 Java static修饰方法

Java static修饰方法

2023-09-24 06:40| 来源: 网络整理| 查看: 265

一、static 修饰方法 1、与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。调用静态方法可通过类名访问或者对象访问。 例如:

public class StaticMethod { //使用static关键字修饰静态方法 public static void print(){ System.out.println("i like java"); } public static void main(String[] args) { //通过类名调用静态方法 StaticMethod.print(); //通过对象调用静态方 StaticMethod objects = new StaticMethod(); objects.print(); } }

输出结果:

i like java i like java

2、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。

public class StaticMethod { //定义非静态变量 String name = "jack"; //定义静态变量 static String age = "23"; //使用static关键字修饰静态方法 public static void print(){ // 静态方法直接调用静态变量 System.out.println("静态方法中访问静态变量age:"+age); //静态方法中调用非静态变量必须通过该类的实例化对象来调用 StaticMethod objects = new StaticMethod(); System.out.println("静态方法中通过实例化对象调用非静态变量name:"+objects.name); } public static void main(String[] args) { //通过类名调用静态方法 StaticMethod.print(); } }

输出结果:

静态方法中访问静态变量age:23 静态方法中通过实例化对象调用非静态变量name:jack

3、静态方法中可以直接调用静态方法,但不能调用非静态方法。 如果希望在静态方法中调用非静态方法,可以通过创建类的对象,然后通过对象来访问非静态方法 例如:

public class StaticMethod { //使用static关键字修饰静态方法 public static void print(){ System.out.println("i like java"); } public void printOne(){ System.out.println("i like java"); } public static void show(){ //静态方法中直接调用静态方法,通过类名访问 StaticMethod.print(); //静态方法中调用普通方法,通过实例化对象调用 StaticMethod objects = new StaticMethod(); objects.printOne(); } public static void main(String[] args) { //通过类名调用静态方法 StaticMethod.show(); // 直接调用静态方法 print(); // 通过类名访问静态方法 StaticMethod. print(); } }

输出结果:

i like java i like java

4、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量(在普通成员方法中,也可以调用非静态方法和静态方法。)

public class StaticMethod { //定义静态变量 static String age = "23"; //使用static关键字修饰静态方法 public static void print(){ System.out.println("i like java"); } public void input(){ // 非静态方法直接调用静态变量 System.out.println("普通成员方法直接调用静态变量age:"+age); // 非及静态方法直接调用静态方法 StaticMethod.print(); } public static void main(String[] args) { StaticMethod objects = new StaticMethod(); objects.input(); } }

输出结果:

普通成员方法直接调用静态变量age:23 i like java

demo地址: http://download.csdn.net/download/qq_18505715/9824367

总结出来就这么一句话 : 类优先对象存在



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有