class Person{
String name;
int age;
void introduce(){
System.out.println(" 我的名字是 "+ name + " , 我的年龄是" + age);
}
}
---------
/*从子类这个introduce看它的定义方法跟父类的introduce的定义方法是一样的
void返回值类型都是空,函数名名都是introduce 参数列表也都是空 只是方法体不太一样
这就是复写 或者覆盖 或者叫重写
复写(override)也被称之为覆盖或者重写
1、在具有父子关系的两个类当中
2、父类和子类当中各有一个函数,这两个函数的定义(返回值类型,函数名和参数列表)完全相同
*/
class Student extends Person{
String address;
void introduce(){
//消除第一行冗余代码 使用super 调用introduce 即 super.introduce();
System.out.println("我的姓名是" + name + "我的年龄是" + age );
//super.introduce();
System.out.println("我的家在" + address);
}
}
---------
class Test{
public static void main (String args[]){
Student s = new Student();
s.name = "张三";
s.age = 20;
s.address = "北京";
s.introduce();
Person p = new Person();
p.name = "李四";
p.age = 120;
p.introduce();
}
}
转载于:https://blog.51cto.com/120476536/1362573