通过对象访问属性和行为:由对象打点后跟属性和方法来使用。
在一个类中,如果没有定义构造方法,则都默认隐式声明了一个无参数的构造方法,在创建对象的时候,new后面调用的就是构造方法。构造方法其实就是生产对象的方法、方式。
public class Student{ }
//无参数构造器方法
public Student{ }
构造方法与一般方法的区别:
- 构造方法的名字必须和类名一样
- 构造方法不用声明返回值类型
- 构造方法通过new关键字来调用
方法的重载:在一个类中可以定义多个方法名相同,但是参数个数、类型或者顺序不一样的方法。包括构造方法的重载和一般方法的重载。如果重载了构造方法,则默认的构造方法就失效了,如果还想使用默认的构造方法,则必须要显示声明。调用方法时,传入的参数和哪个方法定义时的参数匹配,则调用相对应的方法。
this关键字
问题出在标记1的位置,name=name,在此的两个name实际上都是方法中的参数name,并没有给属性name赋值。所以程序中的属性name为空值NULL。将标记1的代码改成this.name = name;即可。
this关键字的含义:可以为调用了其方法的那个对象生成相应的句柄。也就是说,哪个对象调用了方法,那么这个方法里的this指的就是哪个对象。所以this.name指的就是属性name。
this关键字的用途:
- 调用本类属性
- 调用本类方法
- 表示当前对象
static关键字
如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。
声明为static的变量实际上就是全局变量。