java之继承、多态、抽象类


异常:
   try:有可能出现异常的代码
   catch:出现异常后,进行捕获(异常处理)
   finall:不管有无异常总会执行的代码(释放资源)
   throw:手动输出(抛出异常)
   throws:自动输出(抛出异常)
在方法参数传递时:
   基本数据类型,形参时实际参数的一个副本(不会互相影响)
   引用类型传参,形参和实参是会互相影响的

java三大特性:
     
      封装、继承、多态、
继承
1.继承概述
  父类、超类、基类
  子类、派生类
  Animal的基本属性: type、skin、legCount
          方法:eat()|breathe()、
  Tiger:来继承Aniaml类,可以继承上面所有的,还可以加自己独有的,比如eatmeat()等等
  public class Tiger extends Animal{}
  extends只能继承一个类,java不支持多重继承
 
  子类继承父类之后,子类可以调用父类的属性和方法,满足条件也可以重写父类的属性和方法(final类型就不行),还可以增加自己的属性和方法。
2.实现继承
  super:通过它来访问父类对象的属性和方法。
  在调用子类的构造器的时候,如果没有显示的写出super,那么编译器会默认加上super()无参构造器,默认将父类一层层地调用。
  如果想调用父类的有参的构造器,那么就必须显示的调用super(),编译器不会默认加上的。
  创建子类对象的过程就是从底层的基类开始往上,一层层地调用构造方法。

  super()、super(参数)都必须放在方法的第一个语句中。

3.继承关系
  java只支持单继承关系。

多态
  一个对象具有多种状态。这是继承特性影响的。
  比如,我们的例子里:
        Tiger可以看作Tiger也可以看作Animal
        Cat可以看作Cat也可以看作Animal
        Dog可以看作Dog也可以看作Animal
        所以Animal有四种状态

抽象类
1.抽象类的定义
    抽象类是为子类提供一个规范,用抽象方法来体现。
    public abstract 类名{
      //类体
      //修饰符 abstract 返回值类型 方法名(参数列表);
      //有无abstract是区别是否是抽象类的依据
  }
    抽象方法没有方法体:public abstract void test();
    普通方法有方法体:public abstract void test(){//方法体内代码};
  
    1.定义一个类,如果这个类是抽象类,那么这个类中至少有一个抽象方法。
    2.在抽象类中的方法不一定是抽象方法,但是含有抽象方法的类一定是抽象类。
2.抽象类的使用
   @Override 用来检测是否重写成功
    1. 一个类继承了抽象类,就必须要重写该抽象类的所有的抽象方法。该类的非抽象方法可以不要重写。
    2.如果一个类没有重写抽象类的抽象方法,那么这个类也要定义为抽象类。
     public abstract void catchAnimal(Animal animal);//子类的类型不一样,所以不在这里具体实现,在子类中具体实现
   
  
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值