Static关键字

Static关键字

格式:

Static 属性名:类属性,静态属性

Static 方法名:类方法,静态方法

由static修饰的成员(类成员,静态成员):

(1)类对象共享

(2)类加载时产生,销毁时释放,生命周期长

访问方式:

(1)      类名.成员名

(2)      对象名.成员名

特点:

在成员方法中:可以直接访问类中静态成员(this.成员名)

 

在静态方法中:

不能直接访问同一个类中的非静态成员,只能直接调用同一个类中的静态成员

不能使用this

可通过对象实例化后,对象.成员方法的形式访问非静态成员

例如:

publicclass User {

   //成员变量

   public String name;

   //类变量

   private String password;

   //成员方法

   publicvoid Name() {

      //在成员方法中直接调用静态属性

      this.password = "123";

      System.out.println(this.password);

      //在成员方法中直接调用静态方法

      this.hua();

      User.hua();

   }

   //类方法

   publicstaticvoid hua() {

      System.out.println("huahua");

  

   }

   //主方法

   publicstaticvoid main(String[] args) {

      //实例化对象

      Usera = new User();

      a.Name();

      //在静态方法中调用非静态成员

      a.password = "456";

      System.out.println(a.password);

   }

 

}

代码块

 

普通代码块(放在方法中):顺序执行,先出现,先执行

格式:{}

 

构造代码块(实例化对象一次,执行一次)创建对象时调用,优于构造方法执行

格式(同一类中可有多个):{}

 

 

静态代码块(只执行一次,在类加载时调用):

格式(可有多个):static{

}

 

例如://定义

publicclass Code {

   //构造方法

   public Code() {

      System.out.println("Code的构造方法");

   }

   //代码块

   {

      System.out.println("Code的构造代码块");

   }

   //静态代码块

   static {

      System.out.println("Code的静态代码块");

   }

}

 

 

publicclassCodeBlock {

   //构造方法

   public CodeBlock() {

      System.out.println("CodeBlock的构造方法");

   }

   //代码块

   {

      System.out.println("CodeBlock的构造代码块");

   }

   //静态代码块

   static {

      System.out.println("CodeBlock的静态代码块");

     

   }

   publicstaticvoid main(String[] args) {

      System.out.println("CodeBlock类主方法");

      {

         System.out.println("CodeBlock的普通代码块");

      }

     

     

      //实例化对象

      System.out.println("实例化Code类对象");

      Codec1= newCode();

      System.out.println("实例化CodeBlock类对象");

      CodeBlockCB= newCodeBlock();

 

      {

         System.out.println("CodeBlock的普通代码块");

      }

   }

 

}

 

执行结果如下:

CodeBlock的静态代码块

CodeBlock类主方法

CodeBlock的普通代码块

实例化Code类对象

Code的静态代码块

Code的构造代码块

Code的构造方法

实例化CodeBlock类对象

CodeBlock的构造代码块

CodeBlock的构造方法

CodeBlock的普通代码块

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值