在Java中类的构造函数包含有参构造函数和无参构造函数,默认如果不在类中写构造函数,默认有一个无参的构造函数,当创建一个对象的时候,默认使用的就是这个构造函数。
如果需要在创建对象的时候就将对象的属性值设置好,就需要一个有参构造函数,在创建对象的时候,将参数传入即可。如果创建一个有参的构造函数,那么默认的无参构造函数将会被覆盖,如果还需要一个无参构造函数,则需要手动重写一个无参构造函数。
Java类可以被继承,子类会继承父类的一些属性值,但是子类也可以有自己的一些特定属性,小狗(子类)属于动物(父类),有动物这个种类的所有属性,但是小狗也有属于自己的特性。在开发中我们会将具有某些基本属性的归为一类,如果另一个类也有这些属性,而且它还有属于自己的特性,可以将子类继承于父类,这样子类就包含了父类所有的属性。
Java类的继承关键字是extends,基本语法为: public class ChiledClass extends ParentClass{}
在子类中,有时候虽然继承了父类的属性值,但是有时候,我们需要子类中的该属性值有自己的特点,这时候,我们可以重写父类的属性方法,将该属性设置为我们需要的值,这样虽然子类继承于父类,但是也有自己的独特性。
在开发中,我们通常会将类的属性设置为私有的,这样外部就不会随意访问到这个属性。但是为了让外部能够访问该属性值,我们通常使用 set和get方法去设置和获取该属性值,这样如果开发中不想让别人随意修改该属性,可以将set方法去掉,只留下get方法,这样这个属性就只可以访问而不可以修改,很好的保护的这个属性值,不让别人去随意修改。
JAVA中反射是动态获取信息以及动态调用对象方法的一种反射机制。
Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态语言的一个关键性质。
Java反射的功能是在运行时判断任意一个对象所属的类,在运行时构造任意一个类的对象,在运行时判断任意一个类所具有的成员变量和方法,在运行时调用任意一个对象的方法,生成动态代理。
扩展资料:
JAVA中反射实例:
1、Class superClass=clazz.getSuperclass()//获取父类。
System.out.println("getSuperclass:"+superClass)。
2、Class[] interfaces=clazz.getInterfaces()//获取实现接口。
System.out.println("getInterfaces:"+interfaces.length)。
3、Constructor[] cons=clazz.getConstructors()//构造方法。
System.out.println("getConstructors:"+cons.length)。
参考资料来源:百度百科: JAVA反射机制