继承,接口,多态

抽象类:使用abstract关键字进行修饰的类叫做抽象类

1.抽象类里面可以没有抽象方法

2.一个类里边有抽象方法那这个类必须是抽象类

抽象方法:

1.方法只有生命没有方法体:生命即规定方法三要素:方法名、参数列表、返回值类型

2.要使用abstract关键字进行修饰

定义抽象方法的意义:

1.对子类进行约束:让子类做一些特定的事

2.强制子类实现保证提供这种服务

abstract class A{
public abstract void print();//print()方法没有方法体;
}
//类B 继承A,类B 必须实现父类A中的抽象方法print()
class B extends A{
public void print(){
//方法体....
}
}

接口的定义

1.接口里不能有成员变量

2.接口一般定义抽象方法

public interface USB{

抽象方法

默认方法

静态方法

私有方法

}

public interface USB{
    //抽象方法
    void read();
    void write();

    //默认方法---在8版本可用  子类会被继承
    public default void run(){
        System.out.println("启动...");
    }
    //静态方法---在8版本可用  子类不会被继承,也无法继承
    public static void run(){
    }
    //私有方法---在9版本可用  子类不会被继承
    public void run(){
    }

}

多态

定义:多态是指同一行为,具有不同的表现形式(调用同样方法,执行的是不同功能)

1.发生在有继承或者实现接口的情况下

2.在子类中对方法进行了重写

3.父类指向子类对象 父类类型   变量名=new  子类对象()

4.调用类里面的方法:静态方法:直接写类名.方法名

                                   非静态方法:实例化对象,然后写对象名,方法名

5.多态的本质就是子类对象向上转型为父类引用

 多态的好处:可以吧父类(接口类型)类型定义为方法的形参,在实际调用的时候传入参数比较灵活,可以传入父类类型的对象,也可以传入任意子类的对象

   public class MultiDemo {
       public static void main(String[] args) {
           // 多态的引用,就是向上转型--自动转换--小类型转大类型
           Animals dog = new Dog();
           dog.eat();
           
           Animals cat = new Cat();
           cat.eat();
           
           // 如果要调用父类中没有的方法,则要向下转型--强制转换--可能会出现问题,系统可能不会处理,运行可能出现异常--大类型转小类型
           Dog dogDown = (Dog)dog;
           dogDown.watchDoor();
   
       }
   }
   class Animals {
       public void eat(){
           System.out.println("动物吃饭");
       }
   }
   class Dog extends Animals{
       public void eat(){
           System.out.println("狗在吃骨头");
       }
       public void watchDoor(){
           System.out.println("狗看门");
       }
   }
   class Cat extends Animals{
       public void eat(){
           System.out.println("猫吃鱼");
       }
   }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值