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

    另外附上测试结果

  • 相关阅读:
    Linux内核RPC请求过程
    二分图
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 文本加密
    Java蓝桥杯 算法提高 九宫格
    Java蓝桥杯 算法提高 九宫格
  • 原文地址:https://www.cnblogs.com/lklk/p/9977903.html
Copyright © 2011-2022 走看看