面向对象进阶(static关键字)

概述

关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被static修饰的成员是属于类的是放在静态区中,没有static修饰的成员变量和方法则是属于对象的。

定义格式和应用

static是静态的意思。 static可以修饰成员变量或者修饰方法

定义格式

修饰符 static 数据类型 变量名 = 初始值;

举例

public class Student {
    public static String schoolName = "传智播客"; // 属于类,只有一份。
    // .....
}

 

实例变量及其访问

无static修饰的成员变量叫实例变量

需要注意的是:实例成员变量属于每个对象,必须创建类的对象才可以访问。

格式:对象.实例成员变量

静态变量:

共享的变量即可以用static修饰 

静态成员变量的访问:

格式:类名.静态方法

public static void  main(String[] args){
    Student.study();
}

静态方法及其访问

有static修饰成员方法,说明这个成员方法是属于类的,这个成员方法称为类方法或者静态方法**。 直接用 类名访问即可。因为类只有一个,所以静态方法在内存区域中也只存在一份。所有的对象都可以共享这个方法。

与静态成员变量一样,静态方法也是直接通过类名.方法名称即可访问。

举例

public class Student{
    public static String schoolName = "传智播客"; // 属于类,只有一份。
    // .....
    public static void study(){
    	System.out.println("我们都在黑马程序员学习");   
    }
}

 实例方法及其访问

无static修饰的成员方法属于每个对象的,这个成员方法也叫做实例方法

需要注意的是:实例方法是属于每个对象,必须创建类的对象才可以访问。

格式:对象.实例方法

示例

public class Student {
    // 实例变量
    private String name ;
    // 2.方法:行为
    // 无 static修饰,实例方法。属于每个对象,必须创建对象调用
    public void run(){
        System.out.println("学生可以跑步");
    }
	// 无 static修饰,实例方法
    public  void sleep(){
        System.out.println("学生睡觉");
    }
    public static void study(){
        
    }
}

 Static 注意事项

  1. 静态方法中,只能访问静态变量和静态方法
  2. 非静态方法可以访问所有
  3. 静态方法中没有关键字this

Static小结

被static修饰的成员变量叫静态变量

特点:被该类所有对象共享,跟对象无关随着类的加载而加载,优先于对象存在

调用方式:类名调用>对象名调用

被static修饰的成员方法叫静态方法

特点:多用在测试类和工具类中,javabean很少

调用方式同上

重新认识main方法

public static void main(String[]args){}

public:被JVM调用,访问权限足够大

static:被JVM调用,不用创建对象,直接类名访问;因为main方法是静态的,所以测试类中其他方法也是静态的

void:被JVM调用,不需要给JVM返回值

String[]args:以前用来接收数据,现在没用

               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值