学习java的第二周,感觉到了java的面向对象独特的编程风格,与以往的c语言不太一样,但仍然还是有相似之处。
最开始学到方法的时候很疑惑,不知道方法是什么,后来感觉和c语言的函数大差不差,刚学真的被弄的头疼,静态方法和非静态方法一直混,现在也知道静态方法和非静态方法的区别了(调用对象,引用变量不同)
静态方法是使用static关键字修饰的方法,又叫类方法,属于类的,不属于对象,在实例化对象之前就可以通过类名,方法名调用静态方法.(静态属性,静态方法都是属于类的,可以直接通过类名调用).
非静态方法:不含有static关键字修饰的普通方法,又称为实例方法,成员方法,属于对象,不属于类,(成员属性,成员方法是属于对象的,必须通过new关键字创建对象后,再通过对象调用,
静态方法和非静态方法的调用方法也不相同
静态方法和非静态方法的生命周期
类方法可以直接通过类名调用,实例方法必需先实例化类,再初始化对象,然后通过类的实例化对象才能调用
((静态static变量/方法 在类加载的过程中被初始化,在内存中只存在一份,所以可以把它当作是全局变量/方法.
应用场景:
1.静态方法最适合工具类中方法的定义,比如文件操作,日期处理方法等.
2.静态方法适合入口 方法的定义;如单例模式,因为从外部拿不到构造参数,,所有定义一个静态的方法获取对象非常有的必要,
3.静态变量适合全局变量的定义*如布尔型静态成员变量做控制符
在学习的过程中也并不枯燥,比如程序员是不缺对象的,如果没有对象可以自己new一个对象。
在学习第二周的时候,也解答了第一周的疑惑,比如为什么开头要用public,现在学习了其他关键字,也明白了开头的含义,还有Scanner的代码为什么要导包,new,之类的。所以说,学习只有学下去才能获得乐趣。
学习就是这样,当自己沉浸在一种环境中,那种忘我的转移,让自己的身份又有了一个。或许我们都该沉浸在自己的那个学习的圈,去做令人惊叹的自己,享受另一种精神释放!