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来调运父类被隐藏的方法。