day10 Java语言中的继承(一)

一、继承概述:

    继承:什么是继承,程序中的继承与生活中的继承还是有区别的,在程序中继承以后,你的父类和你的子类同样的也具有某一成员变量。那么我们为什么药学习继承?是因为我们在编程的时候我们会有大量的代码需要重写,从而导致我们代码比较繁杂而容易错误。所以定义一个类做为父类,将一些共有的属性定义在这个类中,当某一个类需要使用到这些方法的时候就可以直接通过extends关键字就可以直接使用父类中的成员变量。方便快捷。因此,谁继承了父类谁就是这个父类的子类。他们之间也就存在中某种连带关系。下面我们就具体的来学一下继承。注意:继承是Java的核心知识,重点学习。


二、继承(Extends):

    1、定义一个继承的语法:

    修饰符 class 子类类名 extends 父类名{
    
        //类定义部分
        
    }

            这就是一个继承的一个语法模式,记住关键字extends。

    2、父类(超类):

        父类我们不做任何要求和限制,只要是将一些公共使用到的一些变量、方法、构造器等等一系列的都可以定义在一个类里面。只有这个类被继承以后,他的角色马上就从普通类转变为一个父类。

    3、子类(基类或派生类):

        子类的定义也就是说当你使用继承关键字继承某一个类的时候,你就自动的成为了这个类的子类,你和这个类就有一种继承的关系在里面。父类里面定义的所有变量、方法、构造器你都可以直接调用使用,当然得排除使用private修饰的变量和方法。

    4、重写覆盖:重写这个概念很重要,一般是子类重写父类中的方法,为什么要重写父类中的方法?是因为父类中定义的一些方法不能够满足子类里面的需求,在父类定义的方法上再添加上子类中的另外的东西,使得子类里面更完善,具体看下面的实例一。所以说,子类是对父类的一个扩展。

        在重写的语法中,为了精简代码是重复率,我们直接使用“super.父类中的方法名”的方式来实现对父类方法的重写覆盖,就没有必要再再一次的编写父类中的方法。

    5、调用构造器:

 实例一(实现简单的一个继承关系)

    package www.com.c3;
    //定义一个父类(超累):3个成员变量
    class User{
	String name;
	int age;
	public void display(){
		System.out.println("姓名:"+name);
		System.out.println("年龄:"+age);
	}
    }
    //定义一个子类(派生类):3个成员变量
	//1、使用extends关键字完成继承.继承实现了代码的重复利用。
	//2、子类是父类的继承类。
	//3、父类的private成员子类是不可以继承的。其他的说明符的都可以被继承。
    class Student extends User{
	String password;
	String gender;
	
	//重写父类的方法。覆盖父类的定义的方法。这是因为父类定义的不能够满足子类的需求。
	@Override//这个是重写的注解。可以不写,
	public void display(){
		//使用super来显示父类中已经定义的成员方法。从而实现代码的重复利用
		super.display();	
		System.out.println("密码:"+password);
		System.out.println("性别:"+gender);
	}
    }

    //主类,
    public class Extends01 {
	public static void main(String[] args) {
	//创建子类的实例。
		Student st = new Student();
		//赋值
			st.name = "zs";
			st.age = 15;
			st.gender = "男";
			st.password = "123456";
		//打印输出一下
			st.display();
	}	
	
}
-------------------------------------------------------------------
在控制面板中显示:
姓名:zs
年龄:15
密码:123456
性别:男