• Java笔记2(多态和接口)


    1.多态(一种现象)

    继承是多态的实现基础

     多态:即对象的多种形态

    1.引用多态

      父类的引用可以指向本类对象

      父类的引用可以指向子类对象

    这就是引用多态

    2.方法多态

     创建本类对象时,调用的方法为本来的方法

    创建子类对象时,调用的方法为子类重写的方法或继承的方法

    二.接口

    什么是接口呢???

    接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成

    如果说类是一种具体实现体,那么接口就是某些类所要遵循的规范,接口只是一种规范,不关心类的内部数据和方法实现的细节,它只规定类中必须有什么东西,是用来约束类的。用interface关键字定义接口

    要注意的是接口一般都是用来被继承,被实现的。修饰符一般用public,不用protected和private修饰接口

    接口中全是常量和抽象方法

    问题来了,怎么去使用接口呢??

    一个类可以实现一个或多个接口,实现接口使用implements 关键字。。。我们知道Java中一个类只能继承一个父类,这样是不是很不灵活,那么就可以通过接口进行补充

    这里需要 注意的是继承和接口的实现顺序是不能互换的,也就是必须先继承再实现接口,还有就是实现接口时,同样也要实现接口里的方法

    下面看一个接口实现的例子

    //接口
    package ClassDemo1;
    
    public interface IWatch {
        public void watch();
    
    }
    
    
    
    
    //Woker类
    package ClassDemo1;
    
    public class Woker implements IWatch{
    
        @Override
        public void watch() {
            System.out.println("我们都有一双明亮的眼睛");
            
        }
        
        
    }
    
    
    //Student类
    package ClassDemo1;
    
    public class Student extends Person implements IWatch{
    
        public void say() {
            System.out.println("学生会说不同的语言");
        }
        public void watch()
        {
            System.out.println("我们也有一双明亮的眼睛");
        }
    }
    
    
    //测试类、
    package ClassDemo1;
    
    public class Main {
    
        public static void main(String[] args) {
    
            IWatch i=new Woker();   //用接口引用指向实现接口的对象
            IWatch j=new Student(); 
            i.watch();
            j.watch();
        }
    
    }
    View Code

    另外附上测试结果

  • 相关阅读:
    constexpr函数"QAlgorithmsPrivate::qt_builtin_popcount"不会生成常数表达式
    Oracle 导出用户下的所有索引创建语句
    如何创建只读权限oracle账户
    CentOS7使用firewalld打开关闭防火墙与端口
    springboot异步线程(三)源码解析(二)
    springboot异步线程(三)源码解析(一)
    MethodInterceptor 的几种用法(二)
    ThreadLocal源码阅读
    MethodInterceptor 的几种用法
    springboot定时器(一)
  • 原文地址:https://www.cnblogs.com/lklk/p/9977903.html
Copyright © 2020-2023  润新知