java小白的学习记录......

1、static可以修饰

属性、方法、代码块

2、static修饰与非static修饰的区别

[java][17]static关键字

3、实例

1)Penguin.java代码

public class Penguin {

static String name;//静态成员变量 类变量
int health;//实例变量 普通成员变量
int love;
String sex;
static final String PENGUIN_SEX1="Q仔";//final:常量
static final String PENGUIN_SEX2="Q妹";

        //静态方法

        public static void showPeng(){

System.out.println("静态方法中名称为:"+name+"\n");
}

//静态代码块中只能给static的属性赋值
//代码块作用:给静态属性赋予初始值使用的
//永远都比构造方法先执行一步

static{
name="Lucky";
System.out.println("This is a static代码块");

}

        public void print(){

System.out.println("Penguin name "+this.name+"\nhealth "+health
+"\nlove "+love+"\nsex "+sex+"\n");
}

}


2)Test1.java代码

public class Test1 {
public static void main(String[] args){
//----Penguin.java
Penguin pen=new Penguin();
pen.print(); //(2)

//调用静态的方式1:实例化对象,对象.静态方法(); 对象.静态属性
pen.showPeng(); //(3)
pen.sex=pen.PENGUIN_SEX1;
pen.print(); //(4)

//调用静态的方式2:类名.属性或方法
Penguin.name="QiuQiu";

Penguin.showPeng(); //(5)

                }

}


运行结果,对应Test1.java中标出的(2)~(5):

[java][17]static关键字

分析上述5个结果:

(1)第一行:因为静态代码块永远比构造函数先执行,所以先输出静态代码块的内容

(2)静态代码块给pen.name属性赋值为lucky,其他属性为--默认构造函数进行的初始化

(3)执行showPeng()函数

(4)pen.sex属性改变,(4)与(2)区别--sex属性改变

(5)执行showPeng()函数

相关文章:

  • 2021-05-12
  • 2021-08-17
  • 2021-12-13
  • 2021-12-18
  • 2021-06-17
  • 2021-06-13
猜你喜欢
  • 2021-11-19
  • 2021-08-06
  • 2021-06-23
  • 2021-07-15
  • 2021-09-12
相关资源
相似解决方案