Java作业03 (动手动脑和课后作业1.使用下面定义的类,以下代码输出结果是什么?)...

1.使用下面定义的类,以下代码输出结果是什么?

输出结果:

请依据代码的输出结果,自行总结Java字段初始化的规律。

Java初始化的地方有两个:初始化块和构造函数,其中初始化又分为实例初始化块和静态初始化块,实例初始化块没有关键字修饰,而静态初始化块由static修饰。

执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”

执行类的构造函数:类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

 

2.当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。请自行编写示例代码验证以上结论

示例代码:

public class Jicheng {

public static void main(String[] args){

Son a=new Son();

a.show();

}

}

class Father{

String name;

{

name="Father";

}

}

 

 

class Son extends Father{

int age=20;

void show()

{

System.out.println("名字"+name);

System.out.println("年龄"+age);

}

}

结果截图:

3.静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?请编写代码验证你的想法。

 代码

class Exercise{

int a=0;

static int b;

static public int getb(int newb)

{

b=newb;

System.out.println(b);

return b;

}

public int num()

{

int a=1;

return a;

}

}

public class Shi {

public static void main(String[] args){

Exercise e=new Exercise();

e.getb(10);

e.num();

}

 

}

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

代码:

class Jishu{

private static int a;

public Jishu()

{

a++;

}

public static int get()

{

return a;

}

}

public class DuixiangNum {

public static void main(String[] args){

Jishu j1=new Jishu();

Jishu j2=new Jishu();

 

System.out.println("创建对象的个数为:"+Jishu.get());

}

}

 

转载于:https://www.cnblogs.com/sz20142898/p/4887071.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值