生活中的一些事物和一些人之间往往存在一种继承的关系,或者可以说父代与子代传承的关系,在java的语言中,类与类之间也存在继承关系,那么,为什么类要使用继承呢,继承的格式又是什么呢?
在java中使用继承的目的有2个:1、提高代码的重用性,减少冗余的代码。2、提高程序的
扩展性。java继承的语法格式如下:
Java继承的
关键字:extends
格式:
public
class 类名 extends 类名{
}
在java中类与类之间存在继承关系之后,子类能继承到父类哪些属性和方法呢?能调用的属性和方法和继承的属性和方法有什么不同吗?
在java中一旦存在继承关系,子类就能继承到所有的属性和方法。需要注意的是,java中子类能调用的属性和方法不仅和继承的不同,而且在子类和父类是否在相同的包下也决定了能调用方法和属性的种类,具体判断方式如下:1.在同一个包下:除了私有的属性和方法外,其他的属性和方法都可以调用。2.在不同包下:(1)在子类中可以调用的属性和方法有:受保护的和公有的属性方法。(2)在第三方类中对象可以调用的属性和方法有:公有的属性和方法。当然,子类也可以自己定义属性和方法。
提到继承,那么建立在继承关系上的方法重写了。方法重写的条件是什么呢?怎么调用重写后的方法呢?首先,方法重写的条件有3点:
1、必须要存在继承关系。2、方法的参数类型,参数个数,参数顺序,方法名,返回值数据类型必须要完全一致。3、子类重写方法时,方法的访问修饰符可以大于或者等于父类方法的访问修饰符。调用重写后的方法优先调用的是子类方法,如果子类没有才会调用父类的方法,当然创建的对象必须是子类的。
在提一个和继承有关的自动转型,想要自动转型必须要存在继承关系,自动转型有2种方式:
1、父类 对象名 = new 子类构造方法(实参,...);
2、public void 方法名(父类 对象名){
}
方法名(父类类型的对象);
方法名(子类类型的对象);
上文提到的继承,方法重写,自动转型再加上方法的
重载等这几种技术的组合称作多态。以上就是关于我对类的继承的一些
理解,希望大家多批评指正,谢谢。