http://www.verejava.com/?id=16992791427944
/**
知识点: 继承的基本概念和实现
1. 什么是继承
2. 继承的实现
3. 继承的限制
java 不运行多继承, 也就是只能继承一个类, 但是其父类可以再继承一个类
继承具有传递性
题目:学生继承了人的特征
思路:
1. 抽象出类: 学生(Student), 人(Person)
2. 找出类之间的关系: 学生 继承 人 Student extends Person
3. 找出属性: 人的特征(名字name,年龄age)
4. 找出方法: 人的动作(说话say)
*/
public class Inheritence {
public static void main(String[] args) {
//实例化一个 学生
Student s = new Student();
//给学生赋值名字和年龄
s.name = "李阳";
s.age = 22;
//用带参数的构造方法实例化 子类 Student
Student s2 = new Student("张涛", 23);
}
}
class UFO //外星人类
{
public UFO() {
System.out.println("外星人实例化");
}
}
class Person extends UFO {
protected String name;
protected int age;
public Person() {
System.out.println("父类 Person 实例化");
}
public Person(String name, int age) {
System.out.println(name + " 的父类 Person 实例化");
}
public void say() {
System.out.println("说话");
}
}
/**
Person 叫Student的父类 或 超类
Student 叫 Person 的子类
extends 表示继承关系
*/
class Student extends Person {
public Student() {
super();
System.out.println("子类 Student 实例化");
}
public Student(String name, int age) {
super(name, age);
System.out.println("子类 Student " + name + " 实例化");
}
}
/**
注意:
1. 子类不能访问父类的私有private 的属性
2. 子类可以访问父类的保护protected,public 属性
3. 当用不带参数的构造方法实例化子类的时候,先调用父类的不带参数的构造方法
实例化父类以后, 在实例化子类.(经典语录: 没有父类就没有子类)
4. 当用带参数的构造方法实例化子类时, 也默认先调用父类的不带参数的构造放法
后,再调用子类的带参数的构造方法
5. 如果要让父类带参数的构造方法调用, 必须用super 父类指针显示调用父类的构造方法
并且super 要在子类的构造方法的第一句。
6. 当不带参数的子类实例化时, 系统隐藏执行了 super();
*/