package cn.tedu.oop;
public class TestExtends2 {
public static void main(String[] args) {
//4.创建父类与子类对象进行测试
Father2 f=new Father2() ;
son2 s=new son2();
f.eat();
s.eat();
s.study();
s.play();
}
}
//1.创建父类
class Father2{
//3.创建父类中的方法
public void eat(){
System.out.println("Father favorite food is chicken");
}
public void play(){
System.out.println("喜欢放风筝");
}
}
//2.创建子类,并与父类建立继承关系
class son2 extends Father2{
public void study(){
System.out.println("端午即将来领,要吃粽子哦");
}
/*OCP原则:面向修改关闭,面向拓展开放--只允许功能拓展,不允许修改原来的代码
* 6.修改父类原有的功能--不允许修改父类中的源代码
* 功能修改--方法的重写
* 重写的规则:和父类的方法签名保持一致【方法名&参数列表】
* 然后去修改子类中本方法的实现,父类的功能并没有被改变
* 方法的修饰符>=父类方法的修饰符
* 子类的返回值类型<=父类的返回值类型
* 重写时,子类必须拥有可以重写的权限,子类无权修改父类的私有方法。
* */
@Override
public void eat(){
System.out.println("Son favorite food is vegetables");
}
public void play(){
System.out.println("喜欢放风筝和看天空");
}
}