类继承中的细节

package cn.extend;

/**
 * 
 * Porject Name:base
 * File Name:Persion.java
 * Description:
 * Author:zhangjl
 * Date:2014-1-5
 * Copyright (c) 2014,web_bckf@126.com All Rights Reserved.
 */
public class Persion {
	private int id;
	private String username;
	private String password;
	public Persion(int id, String username, String password) {
		this.id = id;
		this.username = username;
		this.password = password;
	}
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Persion() {
		// TODO Auto-generated constructor stub
	}
	
	public void say(){
		System.out.println("The Persion speak");
	}
	
	
	
}

package cn.extend;
/**
 * 
 * Porject Name:base
 * File Name:Student.java
 * Description:
 * Author:zhangjl
 * Date:2014-1-5
 * Copyright (c) 2014,web_bckf@126.com All Rights Reserved.
 */
public class Student extends Persion{
	public String grade;
	public Student(String userName,String password ){
		super();
		//this();
	}
	

	public Student() {
	}


	public void say(){
		System.out.println("The Student speak");
	}
	public static void main(String[] args){
		Student student=new Student("admin","admin");
		student.say();
		
	}
}

 注意一下几个问题:

1、如果子类的构造方法中没有使用super关键字来调运父类的构造方法,那么子类默认调运了父类无参数的构造方法。
2、如果子类没有使用super调运父类的构造方法,父类也没有无参数的构造方法。那么子类会报错。
3、子类构造方法中不能同时出现this/super
4、子类不能抛出比父类更多的异常或者就干脆不抛异常。
5、如果子类覆盖了父类的方法,那么子类可以用super来调运父类被隐藏的方法。

你可能感兴趣的:(继承)