大道至简读后感
——第三章团队
古人云“三人为众”,众则是指团体或团队。对于一个团队而言,重要的是凝聚力,大家能在一起把拳头握紧那么产生的力量就不紧紧是能以1+1=2 来衡量的了。
对于每个团队中的个体而言,要有基本的责任感。而对团队的的管理者来说,分工具体将是是否能将项目完成最优的关键之处,有的人适合编程,有的人适合去做项目沟通,有的则适合活跃中整体气氛,使工作效率提高。而有的人似乎并没有在团队中发挥自己的作用,有或者无似乎都行,那么对于管理者来说,开除这样的人或者挖掘他的潜力是你应该去做的。倘若一个管理者并没有把分工完成的明确具体,那么整体的效率就会大打折扣。
分工做好了,那么下步就是规章制度了,合适的奖罚制度。做的好,当然得有所奖赏,奖金或是带薪休假。而如果因为个人原因使工程有所延误或使团队有失益。那必然就得对个人进行相应的惩罚措施。个人的一次两次犯错是不可避免的,但是又要考虑整个团队的收益,那么人性化和公平性是规则中最应该考虑的事情,这样企业才能长久存在,因为好的规则能激发员工的动力又能使其尽可能少犯错这不就是管理者想看到的结果吗?
在团队中,是可以时刻学习的,有古人云仨人可成师焉。一个团队可不止三人。那么在其中必定有好的事物可以去学习并成为自己的,技能或是品质,这都能给你带来不小的收获。个人有进步,那么团队也会不断地受益和提高。
那么在一开始,如何去了解和进一步管理团队呢?首先你得融入其中,和你的团队一起来共事,知道和熟悉的你团队后,你的团队有什么优秀的地方得坚持和发扬,有什么不好的地方就得提出和积极改正,改变一个人的习惯并不容易,更何况是改变一个团队的习惯,所以不要去生硬的改变团队已养成的既定规律,而是要慢慢去引导,循规蹈矩地改正他们。
完成一个项目,没有团队一个人扛是不明确的,这样虽然不用想着去怎样管理和去沟通,做好自己的事就够了,但这样效率并不高。记住1+1>2,五个指头分开来说并不厉害,可若将五个指头团成团成为一个拳头那么威力就显现出来了。只有团队才能把事情做大,无论是个人还是集体,在这个共事的过程中都能从中受益。
大道至简第三章看完了,或多或少心里有些感触,的确在我们以后的工作里也会是在一个团队*事,或者是成为这个团队中的leader。这第三章虽然并没有讲明什么实质性的东西,但是同样能带来一种不错的管理思路,和团队的本质思想,这是值得我们去细细推敲和学习的。
使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”
package demo; class Count
{
public static int r= 0;
int i;
Count(int ir)
{
i = ir;
r++;
} public int countGet()
{
return r;
}
} public class Follow {
public static void main(String args[])
{
Count a = new Count(2);
Count b = new Count(3); System.out.println("创建的对象个数为:"+b.countGet());
} }
结果截图:
ppt动手动脑作业
1.当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。
请自行编写示例代码验证以上结论。
答代码如下:
package demo;
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();
}
}
运行截图:
2. 静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?
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());
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());
}
}
3. 使用上页幻灯片中定义的类,以下代码输出结果是什么?
public static void main(String args[]){
InitializeBlockclass obj=new InitializeBlockclass();
System.out.println(obj.field);//?
obj=new InitializeBlockclass(300);
System. out.println(obj.field);//?
}
请依据代码的输出结果,自行总结Java字段初始化的规律。
package demo;
public class InitializeBlockDemo {
public static void main(String[] args) {
InitializeBlockClass obj=new InitializeBlockClass();
System.out.println(obj.field);
obj=new InitializeBlockClass(300);
System.out.println(obj.field);
}
}
class InitializeBlockClass{
{
field=200;
}
public int field=100;
public InitializeBlockClass(int value){
this.field=value;
}
public InitializeBlockClass(){
}
}
答:Java字段初始化规律系统会按顺序对Java字段进行初始化,如果有好几个方法都对同一个变量进行了初始化。Java会将最后一次的初始化结果赋给该变量。
4. 以下代码为何无法通过编译?哪儿出错了?
Public class Test{
Public static void main(String[] args ){
Foo obj1=new Foo();
}
}
Class Foo{
Int value;
Public Foo(int initValue){
Value = initValue;
}
}
答:Foo类中定义时引用了整型定义变量,上方new Foo()括号中应添加整型变量或数值