2021-04-10

一、继承与重写
1. 继承
就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接 访问父类中的非私有的属性和行为。
继承的作用
通过继承可以快速创建新的类,实现代码的重用,提高程序的可维护性,节省大量创建新类的时间,提高开发效率和开发质量。
继承的优点:
继承过来的字段和方法,可以像任何其他字段和方法一样被直接使用;
在子类中可以声明一个与父类中同名的新字段或静态方法,从而“隐藏”父类中的字段和方法;
可以在子类总声明一个在父类中没有的新字段和方法;
可以在子类中编写一个父类当中具有相同名的新实例方法,这称为“方法重载”或“方法覆盖”;
可以在子类中编写一个调用父类构造方法的子类构造方法,既可以隐式地实现,也可以通过使用关键字super来实现。

2.重写
如果在子类中定义的一个方法,其名称、返回值类型和参数列表正好与父类中的某个方法的名称、返回值的类型和参数列表相匹配,那么可以说,子类的方法重写了父类的方法。

在类体系结构中,当子类中的方法与其父类中的方法具有相同的方法名时,则认为子类中的方法重写了父类中的方法。从子类中调用重写方法时,将总是调用出现在子类中的方法,而父类中的方法被隐藏。
二、父类与子类
继承的主要优势在于代码的可重用性。一个类一经定义和调试,便可以用来创建新的子类,这样做除了节省大量的时间和精力之外,还无须重新输人相同的代码。另外,父类的数据和方法可用于它的子类,但如果将父类的数据和方法声明为私有使用(关键字为pri-vate),则子类不能访问它们。
4、super的用法
super的三种用法:
1.在子类的成员方法中,访问父类的成员变量。
2.在子类的成员方法中,访问父类的成员方法。
3.在子类的构造方法中,访问父类的构造方法(包括重载方法)。
5.@override注解
用来检测当前的方法,是否是重写的方法,起到【校验】的作用

public class Fu{
   public void how(){
       System.out.println("how方法被调用");
  }
}
public class Zi extends Fu{
   public void method(){
      System.out.println("method方法被调用");
   }
}
public class Demo{
   public static void main(String[]args){
      Fu f=new Fu();
      f.how();
      Zi z=new Zi();
      z.method();
      z.how();
    }
}
public class Fu{
   private void how(){
        System.out.println("Fu中how()方法被调用");
   }
void method(){
     System.out.println("Fu中method()方法被调用");
   }
}
public class Zi extends Fu{

   @Override
   private void show(){
      System.out.println("Zi中how()方法被调用");
   }

   @Override
   private void method(){
        System.out.println("Zi中method()方法被调用");
   }

   @Override
   public void method(){
      System.out.println("Zi中method()方法被调用");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值