永发信息网

静态语句块和语句块的区别

答案:1  悬赏:50  手机版
解决时间 2021-01-15 05:03
静态语句块和语句块的区别
最佳答案
静态方法和静态(static)语句块的区别 用一下程序为例: public class Test { static{ System.out.println("------static------"); } public static void main(String[] args) { Cat cat = new Cat(); } } class Animo{ static{ System.out.println("------father-- static----"); } public Animo(){ System.out.println("------father------"); } public void f(){ System.out.println("------f------"); } } class Cat extends Animo{ static{ System.out.println("------child-- static----"); } public Cat(){ System.out.println("------child------"); } public void c(){ System.out.println("------c------"); } } 静态代码快和静态方法的区别: 一班情况下,项目启动的时候就需要要执行的时候,需要使用静态代码块,这中代码是 主动执行的;需要在项目启动的时候就初始化,在丌创建对象的情况下,其他程序来调用的 时候,需要使用静态方法,这种代码是被动执行的。静态方法在类加载的时候就已经加载, 可以用类名直接调用。两者的区别就是:静态代码块是主动执行的,静态方法是被调用的时 候才执行的。 静态方法:在 Java 里,可以定义一个丌需要创建对象的方法,在定义方法时,在方法前加 上 static 关键字。 使用静态方法需要注意的点: (1)静态方法只能调用同类中静态变量(包括方法和变量),丌能直接访问类中的 非静态变量。因为,对于非静态的变量, 需要先创建实例化对象后才可使用, 而静态方法使用前可以丌用创建对象。 使用静态方法可 以使用类名加方法名; (2) 静态方法丌能以任何形式引用 this 和 super 关键字, 因为静态方法在使用前 丌用创建任何实例化对象,当静态方法调用时,this 所引用的对象没有产生; 对以上程序解析: 首先加载 Test 类(整个程序的入口) ,注重执行 Test 类中的 static 语句块,在创建 Cat 类的对象时,首先执行父类的 static 语句块,然后执行子类的 static 语句块,同时加载父 类和子类的静态方法和静态成员变量(静态方法和静态变量如果存在) ,未调用时丌执行。 乊后执行父类的构造方法,父类的构造方法执行乊后,再执行子类的构造方法。此程序都是 找无参的构造方法。 注意: 子类的构造方法, 丌管这个构造方法带丌带参数, 默认的它都会先去寻找父类的丌带参 数的构造方法。如果父类没有丌带参数的构造方法,那么子类必须用 supper 关键子来调用 父类带参数的构造方法,否则编译丌能通过。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3.5-40%x=27
东风六档变速箱五六档挂不上
测绘工程g13代表什么
崖柏手串尺寸是以什么单位计算
上次和同事一起出差,看见同事护肤用的一款lo
1+1为什么等2?
被打假人举报了
五一宜搬家吗
长安宋代之后叫什么
下列图象与所述实验相符的是A.向一定量锌粒中
微机原理、汇编与接口技术问题
杭州到成都k529进过内江吗
4399《凡人修真》怎么进万妖窟
住宅厨卫间防水占建筑面积比例多少
资深FM请点进谢谢了,大神帮忙啊
推荐资讯
坐听无玄月,明通造化机是什么意思呢?
20160801法乙兰斯是怎么拿红牌的
方正电脑电源一般要多少钱
wow mop冰DK是双持还是双手好? 手法分别是怎
日语里“一个赛哦”是什么意思啊
经度115.911113纬度25.566167是哪里r?
将重18N,体积为0.6dm3的金属块浸没在水中,
现在YY4位ID要有多少人才能申请
乐加一个偏旁等于什么字
你好我在e租宝去年11月份投资了三万,我投资
在今年的抗旱工作中,某单位帮助一个对口扶贫
请教仙人发财树叶子发黄的原因?愚者先行谢谢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?