初学java,接触类和对象,从个人的理解的话,类就好比同一类东西,而对象就是这同一类东西中带有各自特点的东西。
比如苹果是一个类,青苹果就是该类的一个对象,红苹果也是该类的一个对象。之所以青苹果和红苹果是同一个类,就是因为它们都是苹果,这是它们的共同点。但是,我们也可以把红苹果定义成一个类,它的对象就可以有中国红苹果,美国红苹果。当然,此时的青苹果就和红苹果是不同的类了,因为想和红苹果同类的条件就是要是红色的苹果,而青苹果显然不具备红色这个硬性条件。
总的来说,现实世界中的一切人和事物都是对象,当我们把某些对象归纳成同一个类时,就是在找他们的共同点;而要把某些对象归纳成不同的类的时候,就是在找他们的不同点。
类的主要作用就是作为一个模板,我们可以根据所定义类的特点创建出很多的对象,那么这些对象都具有类中定义的属性和方法,这些创建好的对象可以调用类中定义的属性和方法。
说到方法,方法分为有返回值的方法和无返回值的方法,有参数的方法和无参数的方法,要用哪种,根据对象的需求随时调用。
方法分为构造方法和一般方法。
构造方法没有返回值类型,方法名和类名一样;一般方法有返回值类型,方法名和类名不一样。
构造方法是初始化对象的重要途径,就算没有给一个类定义构造方法,方法在这个类加载的时候,会自动提供一个没有参数的构造方法,所以常见Teacher t=new Teacher();之类的;但是一般方法不行。
构造方法总会被先调用。
构造方法有对类属性初始化的功能。
在java中,经常定义多个重名但方法体不同的方法,叫重载。
重载的方法参数类型、个数、顺序至少要有一个不同,这是必须的区分条件。他们的返回值类型和修饰符也可以不同,但这不是区分条件。
注意,如果重载了构造方法,那么默认的无参的构造方法就失效了,如果还想用这个默认的方法,则必须显式声明!