2015第19周一

五一后第一周主要还是在改bug和增加新模块功能,效率没原来想的那么高,总是不断涌现出新问题,使用了Java的静态代码块和静态方法,再回忆下两者的区别:
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用
比如main方法就必须是静态的 这是程序入口
两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.

静态方法
(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。要实现这样的效果,只需要在类中定义的方法前加上static关键字。
使用类的静态方法时,注意:

a在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。

b 静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生。

(2)静态变量是属于整个类的变量而不是属于某个对象的。注意不能把任何方法体内的变量声明为静态

(3)一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。
对象的初始化顺序:首先执行父类静态的内容,父类静态的内容执行完毕后,接着去执行子类的静态的内容,当子类的静态内容执行完毕之后,再去看父类有没有非静态代码块,如果有就执行父类的非静态代码块,父类的非静态代码块执行完毕,接着执行父类的构造方法;父类的构造方法执行完毕之后,它接着去看子类有没有非静态代码块,如果有就执行子类的非静态代码块。子类的非静态代码块执行完毕再去执行子类的构造方法。总之一句话,静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。

注意:子类的构造方法,不管这个构造方法带不带参数,默认的它都会先去寻找父类的不带参数的构造方法。如果父类没有不带参数的构造方法,那么子类必须用supper关键子来调用父类带参数的构造方法,否则编译不能通过。

时间: 2024-12-07 13:05:32

2015第19周一的相关文章

第19周一

今天估计要很晚,先留空第19周一

【谜客帝国】第十一届阳光原创联想题会(2015.1.19)

谜客帝国第十一届阳光原创联想题会(2015.1.19)主持:阳光      计分:瓷1.取胜全靠兴奋剂 赤膊上阵遭败绩 屡败屡战是为何 拒绝吃药打点滴 3 不服输2.良月圆十分 坐山观虎斗 伤愈再请战 南非一地名 3 好望角3.感情深,一口闷  天初暖,日初长  苹叶软,杏花明  丛树深,万花芳 3 春光好[注:二面出自 唐  欧阳炯<春光好·天初暖>,三面出自 唐  和凝<春光好·苹叶软>,四面出自马彦<春光好.鼋头渚>]4.三言两语 乘法口诀 计座谈 言行一致  4

2015.5.19——vector型的输入输出

vector型的输入输出 在上节2015.5.18——leetcode:Majority Element中纠结vector的动态输入输出问题,但是发现vector传参型的不可以动态输入输出,但是vector可以,附上运行代码. 代码: 1 #include "stdafx.h" 2 #include "vector" 3 #include "iostream" 4 using namespace std; 5 6 int main() 7 { 8

2015第29周一

周一没什么工作总结,记录下两个看到的不错的故事:开阔思想眼界. 故事一: 有一次,一个老强盗带着徒弟去抢劫银行,被警方追捕.两人狂逃,差点儿连裤子都跑掉了.好不容易甩掉了警察,两人上气不接下气,瘫倒在地上. 良久,惊魂稍定,徒弟说:“师父啊师父,要是这个世界上没有警察,该有多么美好啊!”师父骂道:“放屁!要是没有警察,我们还有饭吃吗?!”徒弟大惑不解.师父“语重心长”地说:“你只知其一不知其二啊!你想想,如果没有了警察,是不是大家都敢去偷.去抢了?正因为有了这些警察,把那些能人挡住了,我们才有生

2015第19周五《象与骑象人》《瞬变》读书笔记

维吉尼亚大学心理学家乔纳森·海特在他那本名为<象与骑象人>的书中类比:我们身上情绪化的一面,就是一只“大象”.而我们身上理性化的一面,则是这只大象的“骑象人”.这位骑象人坐在大象的背上,享有支配权,看上去是大象的主宰者.但是事实上,这位骑象人的控制权却是不稳固的.因为跟这只大象比较起来的话,他是如此的微不足道.每当这只6吨重的大象不愿意按照他所指出的方向前进的时候,这位骑象人就会失掉主动权,并被彻底打败.对于我们中的绝大部分人来说,大象打败骑象人,是我们生活中已经习以为常的事情. 乔纳森将自我

2015.10.19 福州大学第九届程序设计竞赛

FZU 2086 餐厅点餐 枚举 练的时候以为是dp---(事实上这场只做了10来分钟---就愉快地滚去吃饭了---) 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 using namespace std; 6 int A,B,C,D,E; 7 int a[15];//汤 8 int b[15];//饭 9 int c[15];//面 1

2015第36周一高效程序员的45个习惯

态度决定一切 (1)做事,把矛头对准问题的解决办法,而不是人,这是真正有用处的正面效应 (2)欲速则不达,要投入时间和精力保持代码的整洁.敞亮 (3)对事不对人,让我们骄傲的应该是解决了问题,而不是比较出谁的主意更好 (4)排除万难,奋勇前进,要诚实有勇气去说出实情,有时候这样做很困难,所以我们需要有足够的勇气 学无止境 (5)跟踪变化,不需要精通所有技术,但需要清楚知道行业的动向,从而规划你的项目和职业生涯 (6)对团队投资,通过午餐会议可以增进每个人的知识和技能,并帮助大家聚集在一起进行沟通

一周技术动态2015.7.19

容器技术 1. docker 7月刊 http://dockone.io/article/503 要点: dockone 总结的7月份 docker 技术动态 2. 新浪SCE Docker最佳实践 http://dockone.io/article/416 要点: 本文分享了 docker 在新浪 SCE 中遇到的问题和解决方案, 从这些解决方案中可以看到, 没有最好的解决方案, 只有最适合的解决方案. 服务化和资源管理技术 1. Kubernetes 1.0发布,KubeCon也来了 htt

学习小记(2015/10/19)——工作中遇见的一个关于jQuery选择器的小要点。

jQuery是现在非常流行的js库,其中封装了很多很酷炫的功能,其中强大的选择器功能是必不可少的.由于jQuery的选择器,我们能够快速的从许多元素中选中我们需要的目标,从而进行后续的工作.今天,我就讲一下jQuery的我使用jQuery遇见的一个小要点. 当时,我使用jQuery是准备将所有页面上的多选框选中,再对其中某一个进行操作.我是这样做的:HTML: <!DOCTYPE html> <html> <head lang="en"> <m