面向对象之继承

继承的特点:

  1. 减少代码的冗余度,增加看代码的重用性
  2. 提取子类的共同属性和行为,将通用的方法放置在基类中,将具有特殊用途的方法放置在子类中
  3. java中继承是单继承,子类继承父类所有非私有属性和方法
  4. 继承具有传递性,不具有关闭性

继承方法覆盖(重写)

  1. 子类提供一个方法覆盖从超类继承的方法【方法标签相同,返回值数据类型和访问修饰符都需要父类小或一样,对方法体重写】
package InheritTest;
/*
 * @version 父类
 */
public class Person {
	
	protected String name;
	
	protected int age;
	
	//无参构造器
	public Person(){}
	//带参数构造器
	public Person(String name, int age){
		this.name = name;
		this.age = age;
	}
		
	public void showClass(){
		System.out.println("姓名:" + name + "\t"+ "年龄:" + age + "\n");
	}
}

子类构造器

  1. 子类构造器可以使用super关键字显示调用基类的构造器,必须放在第一句,若无显示调用,子类构造器自动调用基类默认构造器

package InheritTest;
/**
 * 继承父类,重写方法
 * 
 * @author Administrator
 *
 */
public class Student extends Person {

	private String sex;

	public Student() {
		/*
		 * 隐式调用父类的构造器
		 */
	}
	/**
	 * 带参构造器
	 * @param name
	 * @param age
	 * @param sex
	 */
	public Student(String name, int age, String sex) {
		/*
		 * 显示调用父类的构造器
		 */
		super(name, age);
		this.sex = sex;
	}
	/**
	 * 重写方法
	 */
	@Override
	public void showClass() {
		System.out.println("姓名:" + name + "\t " + "年龄:" + age + "\t " + "性别:" + sex + "\n");

	}
}

子类构造器

  1. 子类构造器可以使用super关键字显示调用基类的构造器,必须放在第一句,若无显示调用,子类构造器自动调用基类默认构造器

你可能感兴趣的:(面向对象)