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

第三次作业

时间:2015-10-17 23:25:39      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

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

 

public class Student{

public static void main(String[] args){

Information a = new Information();

a.OutputInformation();

Information b = new Information();

b.OutputInformation();

} }

class Information{

static int num=0;

Information()

{ num++;

}

public void OutputInformation()

 {

System.out.println("你已经创建了"+num+"个对象!");

}

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

 

package com;

class StaticDemo { static int x;//静态变量x int y;//实例变量y static public int getX() { return x; } static public void setX(int newX) { x = newX; } public int getY() {

return y; } public void setY(int newY) { y = newY; } }

public class ShowDemo { public static void main(String[] args) { System.out.println("静态变量x="+StaticDemo.getX()); //System.out.println("实例变量y="+StaticDemo.getY());// 非法,编译时将出错 //why StaticDemo a= new StaticDemo(); StaticDemo b= new StaticDemo(); a.setX(1); a.setY(2); b.setX(3); b.setY(4); System.out.println("静态变量a.x="+a.getX()); System.out.println("实例变量a.y="+a.getY()); System.out.println("静态变量b.x="+b.getX()); System.out.println("实例变量b.y="+b.getY()); } }

当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。

package com;

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(); } }

 

 

 

第三次作业

标签:

原文地址:http://www.cnblogs.com/Jiao827/p/4888487.html

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