zoukankan      html  css  js  c++  java
  • 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

    另外附上测试结果

  • 相关阅读:
    达叔系列——神经网络编程基础
    win10安装pytorch——前面有坑,快跳进去鸭
    Python基础(六)——面向对象编程
    Python基础(五)——闭包与lambda的结合
    Python基础(四)——迭代器/对象,生成器
    Mysql优化(出自官方文档)
    Mysql优化(出自官方文档)
    Scala语言笔记
    Scala语言笔记
    Scala语言笔记
  • 原文地址:https://www.cnblogs.com/lklk/p/9977903.html
Copyright © 2011-2022 走看看