java 从零开始,学习笔记之基础入门(十二)

时间:2022-03-11 19:43:32

Static 关键字

     表示是静态的,它可以用来修饰属性,修饰方法,修饰类

     如果一个类中属性用static修饰,那么此属性属于静态属性

     如果一个类中方法用static修饰,那么此方法属于静态方法

     如果一个类中,内部类用static修饰,那么此内部类属于静态内部类

如果属性或者方法被static关键字修饰,那么我可以直接通过“类名.静态属性名   或者   类名.静态方法名”来调用

Static关键字不能修饰构造器

package com.ibm.jbs.height;

 

public class StaticDemo {

    //声明一个静态的属性

    //语法格式:访问修饰符+static+类型+属性名=【值】;

    privatestaticinti;

    privatestatic Stringname ="admin";

    public static Stringage;

    public Stringpass;

   

    //声明一个静态方法

    //语法格式:访问修饰符+static+返回值类型+方法名(参数列表){}

    publicstaticvoid show(){

      

    }

   

    publicstatic String show1(){

       returnnull;

    }

   

    public String show2(){

       returnnull;

    }

   

//  public static StaticDemo(){

//     //static不能修饰构造器

//  }

 

静态块,静态方法,*块,普通方法执行顺序

   先静态块,然后在执行main方法,创建对象时执行*块,然后在按照main方法执行程序

     

package com.ibm.jbs.height;

 

public class StaticDemo02 {

    public staticinti;

    publicstatic Stringname;

   

    static {

       i=10;

       name ="admin";

       System.out.println("静态块执行完成");

      

    }

   

    {

       System.out.println(i);

       System.out.println(name);

       System.out.println("*块执行完成");

      

    }

   

    publicstatic void show(){

       System.out.println(i);

       System.out.println(name);

       System.out.println("静态方法执行完");

      

    }

   

    public void show2(){

       System.out.println(i);

       System.out.println(name);

       System.out.println("普通方法执行完成");

       

    }

   

    publicstatic void main(String[] args) {

       show();

       new StaticDemo02().show2();

    }

 

}

执行结果:

静态块执行完成

10

admin

静态方法执行完

10

admin

*块执行完成

10

admin

普通方法执行完成

 

 

Final关键字

       Final关键字表最终的,可以修饰属性,可以修饰方法,可以修饰类

       Final修饰属性,属性初始化值之后,属性的值不再改变;如果属性没有初始化值,那么只能改变属性的值,不能改变属性的对象。

       Final修饰方法,则表示此方法为最终方法,此方法不可以被覆盖。

       Final修饰类,则表示此类为最终类,此类不可以被继承

       当用final修饰属性的时候,属性需要实例化

       当用final修饰属性的时候,属性为一常量,常量的命名一般的情况下都为大写

public class FinalDemo {

   //转大写:ctr1+shift+x

   //转小写:ctrl+shif+y

   publicfinal StringNAME="";

  

   public static final StringPASS="";

  

   //final修饰的属性不能被改变值

   publicstatic void main(String[] args){

      //PASS="AA";

   }

}

 

 

 

.

用final修饰方法:访问修饰符+final+返回值类型+方法名(参数列表){}

public final void show(){

     

   }

用final修饰方法不能被子类覆盖

用final修饰类:访问修饰符+fianl+class+类名{}

Public final class FinalDemo {

 

}

用final修饰的类不能被其他类继承