7.1类的继承
继承在面向对象开发思想中是一个非常重要概念,它使整个程序构架具有一定的弹性。
在Java语言每个类只能继承一个父类。一个类继承另一个需要使用关键字extends,关键字extends的使用方法如下:
class Child extends Parent{}
因为Java只支持单继承,即一个类只能有一个父类,所以类似下面的代码是错误的;
class Child extends Parent1,Parent2{}
子类在继承父类之后,创建子类对象的同时也会调用父类的构造方法。
子类——父类——祖父类
继承:extends
父类:和平常类写法一样public class 父类类名{}子类:public class子类类名 extends 父类类名{}
子类继承父类后,调用后同时会进行子类和父类打印
例题7.1创建类对象
代码如下:
运行结果如下:
子类继承父类之后可以调用父类创建好的属性和方法
例题7.1文字描述:创建父类和子类,调用构造方法
例题7.2
在电话基础上衍生出手机类
例题7.2文字描述
public class Telephone { //电话类
String button=\"button:0~9\"; //成员属性
void call() { //拨打电话功能 System.out.println(\"开始拨打电话\");//输出 }}public class Telephonechild extends Telephone{ //手机继承电话类
String screen=\"screen:液晶屏\"; //成员属性液晶屏幕 }public class Demo2 {
public static void main(String[] args) { // TODO Auto-generated method stub Telephonechild motto=new Telephonechild(); System.out.println(motto.button); //子类调用父类属性
System.out.println(motto.screen); //子类调用父类没有的属性
motto.call();//子类调用父类的方法 }}\n\n在所有类的构造方法第一行都有隐藏super :在执行构造方法之前调用其父类的构造方法
7.3子类Moblic 类仅创建了一个显示屏属性,剩余的其他属性和方法
继承和多态是面向对象中非常重要的一组概念。
所有类的构造第一行都有一个隐藏的”super();"
作用是在执行该构造方法之前调用其父类构造方法
重写
返回参数相同 方法名相同 传入参数相同 只有方法体不同
方法的重载
方法名相同 参数不同
代码如下:
运行结果:
在本实例中分别定义了5个方法,在这5个方法中,前两个方法的参数类型不同,并且方法的返回值也类型也不同,所以这两个方法构成重载关系;前面两个方法与第3个方法相比,第3给方法的参数个数少于前面两个方法,所以这3个方法也构成了重裁关系;最后两个方法相比,发现除了参数的出现顺序不同,其他都 相同,同样构成了
void add (int a, int b) {
}
void add (int b, int a) {
}
extends 继承
父类 写法与普通写法相同
public class 父类类目(){
}
子类
public class 子类类名 extends