Java的static修饰变量,方法,静态代码块

1.修饰变量;

/**
 * 修饰变量;
 * 如果一个成员变量使用了static关键字,那么这个变量对象不在属于对象自己,而是属于所有的类,多个对象共享一份数据;
 */
public class static001 {
    public static void main(String[] args){
        Student sc = new Student("黄鱼",20);
        Student.room = "01教室";
        System.out.println(sc.getName()+","+sc.getAge()+","+sc.room);
        Student sc2 = new Student("贱贱",21);
        System.out.println(sc2.getName()+","+sc2.getAge()+","+sc.room);
    }
}
class Student{
    private String name;
    private int age;
    static String room;//共有的变量;
    public Student(){

    }
    public Student(String name,int age){
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

2:修饰方法:

/**
 * 修饰方法:
 * 一旦使用static修饰成员方法,那么就成为了静态方法,静态不属于对象,而是属于类的。
 *1:如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。
 * 2:如果有static关键字,那么不需要创建对象,就可以通过类名称进行调用。
 * 3:静态变量:类名称.静态变量;
 *   静态方法:类名称.静态方法();
 * 4:静态只能访问静态,静态不能直接访问非静态,静态方法中不能使用this关键字;
 */
public class static002 {
    public static void main(String[] args){
        StaticMc01 a = new StaticMc01();//先创建对象;
        a.method();//然后才能使用没有static关键字的内容;

        /**
         * 对于静态方法来说,可以通过对象名进行调用,也可以通过类名称进行调用。
         */
        a.methodStatic();//通过对项目进行调用。      不推荐。
        StaticMc01.methodStatic();//直接通过类名称调用。   推荐。
        method01();//对于本类的静态方法来说,可以省略类名称;
    }
    public static void method01(){
        System.out.println("这是一个本类的静态方法");
    }
}

class StaticMc01{
    public void method(){
        System.out.println("这是一个成员方法");
    }
    public static void methodStatic(){
        System.out.println("这是一个静态方法");
    }
}

3:修饰静态代码块;

/**
 * 修饰静态代码块;
 * 1:静态代码块特点(当第一次用到本类时,静态代码块执行唯一的一次);
 * 2:静态代码块用来一次性的对静态成员变量进行赋值;
 */
public class static003 {
    public static void main(String[] args) {
        person one = new person();
    }
}
class person{
    static {
        System.out.println("静态代码块");
    }
    public person(){
        System.out.println("构造方法");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值