学习心得:1、类加载的时候,静态初始化块就开始执行,且只执行一次,同时静态初始化块只能给静态变量赋值,不能给普通的成员变量赋值。
2、执行顺序:静态初始化块—>初始化块—>无参构造函数
2、执行顺序:静态初始化块—>初始化块—>无参构造函数
2017-01-31
学习后的总结:1、静态方法可以直接调用静态变量,不能调用非静态变量
2、普通成员方法既可以直接调用静态变量,也能调用非静态变量
3、静态方法中调用非静态变量,需要通过创建类的对象之后,通过对象来调用
4、静态方法中可以直接调用静态方法,对于非静态方法,需要通过创建对象,通过对象来调用
2、普通成员方法既可以直接调用静态变量,也能调用非静态变量
3、静态方法中调用非静态变量,需要通过创建类的对象之后,通过对象来调用
4、静态方法中可以直接调用静态方法,对于非静态方法,需要通过创建对象,通过对象来调用
2017-01-31
刚刚从头到尾学完了课程,觉得讲的例子和应用比较少。相对的,有点就是非常精干。学到这里也自己试着去写代码,但是觉得非常困难。
希望多增加一些应用。比如,学完了数组,做几个数组方面的实例之类的。
总之非常感谢老师,学到了很多。
希望多增加一些应用。比如,学完了数组,做几个数组方面的实例之类的。
总之非常感谢老师,学到了很多。
2017-01-31
我觉得听这个课程对于学过C++的人比较合适。因为有学其他语言的基础在,听起来毫不费力,如果去听那些基础的,才是浪费时间。相反的,如果没有任何基础的人,买一本厚厚的书从头到尾连概念带习题的看下来比较好,可以直接学java的书。我觉得学C++也行。学完之后,之后学任何语言都有一种一通百通的感觉。
2017-01-30
我的理解是——
变量是对象的一个属性时,就是属性,比如说Animal类里的age,属性又称成员变量。
变量定义在对象的一个方法中,比如Animal类的eat方法中,定义一个eat的次数num,num不是Animal的一个属性,这种变量只在eat方法中使用,称为局部变量。
所以变量和属性是两个不同的概念。可以说属性是变量,但不可以说变量就是属性。
除了成员变量和局部变量,应该还有一些其他的变量,但是我就不知道啦,大家可以查一下。
变量是对象的一个属性时,就是属性,比如说Animal类里的age,属性又称成员变量。
变量定义在对象的一个方法中,比如Animal类的eat方法中,定义一个eat的次数num,num不是Animal的一个属性,这种变量只在eat方法中使用,称为局部变量。
所以变量和属性是两个不同的概念。可以说属性是变量,但不可以说变量就是属性。
除了成员变量和局部变量,应该还有一些其他的变量,但是我就不知道啦,大家可以查一下。
2017-01-30
final关键字修饰方法时,可以重写,比如说,原本是无参的final public void eat(){......},如果在animal类或者dog类里,写public void eat(),会报错,但是,如果写public void eat(int amount){......}就不会报错。也可以成功运行。
老师在讲的时候,开头说“final修饰方法,则该方法不允许被覆盖(重写)”这句话,我觉得有问题。
还有就是属性和变量,按老师那种写法,很容易让人觉得属性和变量是没有交集的两种东西(就好像类和方法),至少我就误会了,还特意去查了属性和方法的区别。希望这里老师再讲清楚一点就更好了。
老师在讲的时候,开头说“final修饰方法,则该方法不允许被覆盖(重写)”这句话,我觉得有问题。
还有就是属性和变量,按老师那种写法,很容易让人觉得属性和变量是没有交集的两种东西(就好像类和方法),至少我就误会了,还特意去查了属性和方法的区别。希望这里老师再讲清楚一点就更好了。
2017-01-30