码迷,mamicode.com
首页 > 其他好文 > 详细

静态-static

时间:2017-10-18 21:37:34      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:创建   cin   字符   play   个数   初始化   init   sys   ext   

静态

1. 静态初始化块

(1)可初始化类的静态字段

(2)静态初始化块只调用一次

(3)创建子类时会调用父类的静态初始化块

 

源代码:

class Root

{

static{

System.out.println("Root的静态初始化块");

}

{

System.out.println("Root的普通初始化块");

}

public Root()

{

System.out.println("Root的无参数的构造器");

}

}

class Mid extends Root

{

static{

System.out.println("Mid的静态初始化块");

}

{

System.out.println("Mid的普通初始化块");

}

public Mid()

{

System.out.println("Mid的无参数的构造器");

}

public Mid(String msg)

{

//通过this调用同一类中重载的构造器

this();

System.out.println("Mid的带参数构造器,其参数值:" + msg);

}

}

class Leaf extends Mid

{

static{

System.out.println("Leaf的静态初始化块");

}

{

System.out.println("Leaf的普通初始化块");

}

public Leaf()

{

//通过super调用父类中有一个字符串参数的构造器

super("Java初始化顺序演示");

System.out.println("执行Leaf的构造器");

}

 

}

 

public class TestStaticInitializeBlock

{

public static void main(String[] args)

{

new Leaf();

}

}

结果截图:

技术分享

4)静态初始化块的执行顺序:先执行父类得的在执行子类的

1. 静态字段

static

可用   类名+静态字段。

2. 静态方法

(1)类的静态方法只能访问累的静态变量

(2)只能访问静态变量或静态方法内的变量

(3)不能重写

(4)可用   类名+静态方法。

 

实验:

1)静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?

源代码:

public class StaticWord {

 

int x1=9;

static int x2=8;

static void display() {

System.out.println(x2);

System.out.println(new StaticWord().x1);//静态方法可以使用方法内的参数。

}

   

    public static void main(String args[]) {

    

     StaticWord.display();

    

    }

}

结果截图:

技术分享

2)使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”

源代码:

public class StaticNum {

 

static int count=0;

public StaticNum() {

count++;

System.out.println("创建一个新对象!");

}

public static void main(String args[]) {

for(int i=5;i>0;i--) {

StaticNum temp=new StaticNum();

}

System.out.println("你创建了几个对象:"+count);

}

}

结果截图:

 

技术分享

 

静态-static

标签:创建   cin   字符   play   个数   初始化   init   sys   ext   

原文地址:http://www.cnblogs.com/floakss/p/7688932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!