栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java静态方法与非静态方法和成员变量与局部变量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java静态方法与非静态方法和成员变量与局部变量

1、static关键字

1.1static关键字的介绍

        static是静态修饰符,可以用来修饰:

                成员变量:静态变量,可以直接通过类名访问

                成员方法:静态方法,可以直接通过类名访问

                代码块:静态代码块,当Java虚拟机加载类时,就会执行该代码块(构造代码块:每次创建对象会调用。(优先于构造方法)。用于执行所有对象均需要的初始化动作。)

1.2成员变量和局部变量区别

        成员变量:也被称为属性、实例(对象)变量

        局部变量(Local Variable):定义在类中方法内(临时保存数据)

(1)定义位置的不同:

        成员变量定义在类中方法;

        外局部变量定义在类中方法内(方法体中定义、方法声明上的形参也是局部变量)。

(2)初始值不同:

        成员变量是有默认值的(整数默认值:0,浮点数默认值:0.0,引用数据类型默认值:null...)

        局部变量没有默认的,如果不赋值直接使用,会报错!

(3)作用域不同:

        (使用范围)成员变量的作用域是在定义它的类中可以使用,类中的所有成员方法 都可以使用该变量;

        局部变量的作用域是在定义它的方法中,其他方法无法使用另一个方法中定义的变 量。

(4)生命周期不同:

        (诞生、消亡)成员变量是随着对象的创建而产生,随着对象的销毁(GC)而销毁。 局部变量是随着方法的压栈而诞生,随着方法的弹栈而销毁。

(5)在内存中的位置不同:

        成员变量:在堆内存

        局部变量:在栈内存。

1.3静态方法

        (1)静态方法可以通过类名点方法名的方式(即:类名.方法名();)调用,而非静态方法通过类名点方法名的方式调用。

例如:

public void test01(){
    //调用方法
    Dog.sleep();
}


public static void sleep() {
    System.out.println("在睡觉");
}

(2)通过类的实例化对象名点方法名的方式(即:对象名.方法名();)调用非静态方法和静态方法。

例如:

public void test02(){
    Dog dog = new Dog();
    //调用非静态方法
    dog.eat();
    //调用静态方法
    dog.sleep();
}




public void eat() {
    System.out.println("在吃狗粮");
}


public static void sleep() {
    System.out.println("在睡觉");
}

(3)静态方法可以调用静态方法而不可以调用非静态方法。

例如:

public class DogTest {
    public static void main(String[] args) {
    //静态方法调用非静态方法 会报错
    //Dog.eat();
    //静态方法调用静态方法
    Dog.sleep();
}


public void eat() {
    System.out.println("在吃狗粮");
}


public static void sleep() {
    System.out.println("在睡觉");
}

(4)非静态方法可以调用静态方法,也可以调用非静态方法。

例如:

public void eat() {
    System.out.println("在吃狗粮");
    //调用静态方法
    sleep();
    //调用非静态方法
    run();
}


public void run() {
    System.out.println("在跑步");
}


public static void sleep() {
    System.out.println("在睡觉");
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820332.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号