zoukankan      html  css  js  c++  java
  • Java 面向对象 --接口

    接口定义:一种特殊的“抽象类”,没有普通方法,由全局常量和公共的抽象方法所组成;

    1,接口的定义

    接口定义用关键字 interface

    package com.xuyigang1234.chp02.interface1;
    
    public interface A {
        /**
         * 定义一个接口A
         * @author user
         *
         */
        public static final String Title="www.java1234.com";
         
        /**
         * 定义一个抽象方法 abstract可以省略  
         */
        public void a();
    }

    注意点:由于接口里的方法都是抽象的,所以abstract可以省略,实际开发一般都是省略的,开发者的习惯;

    2,实现接口 可以实现一个或者多个接口

    实现接口我们用implements关键字,我们来搞一个测试方法:

    package com.xuyigang1234.chp02.interface1;
    
    public class Test implements A,B{
        @Override
        public void a() {
            System.out.println("a方法");
            
        }
        @Override
        public void b() {
            System.out.println("b方法");
            
        }
        public static void main(String[] args) {
            Test test = new Test();
            test.a();
            test.b();
            System.out.println(Test.Title);
            System.out.println(Test.Title1);
            
        }
    
    }

    实现接口 ,类里要实现接口里的抽象方法;

    运行输出:

    a方法
    b方法
    www.java1234.com
    www.java.com
    3,继承类和实现接口 先继承,后实现接口

    先定义一个C类:

    package com.xuyigang1234.chp02.interface1;
    
    public class C {
        public void c() {
            System.out.println("c方法");
        }
    }
    package com.xuyigang1234.chp02.interface1;
    
    public class Test extends C implements A,B{
        @Override
        public void a() {
            System.out.println("a方法");
            
        }
        @Override
        public void b() {
            System.out.println("b方法");
            
        }
        public static void main(String[] args) {
            Test test = new Test();
            test.a();
            test.b();
            test.c();
            System.out.println(Test.Title);
            System.out.println(Test.Title1);
            
        }
    
    }

    运行输出:

     a方法
    b方法
    c方法
    www.java1234.com
    www.java.com
    4,接口的继承  接口可以多继承
    定义一个D接口 继承A,B接口:

    package com.xuyigang1234.chp02.interface1;
    
    public interface D extends A,B {
        public void d();
    
    }
    package com.xuyigang1234.chp02.interface1;
    
    public class Test2 extends C implements D {
    
        @Override
        public void a() {
            System.out.println("a方法");
            
        }
    
        @Override
        public void b() {
            System.out.println("b方法");
            
        }
    
        @Override
        public void d() {
            System.out.println("d方法");
            
        }
        public static void main(String[] args) {
            Test2 t2= new Test2();
            t2.a();
            t2.b();
            t2.c();
            t2.d();
            System.out.println(Test2.Title);
            System.out.println(Test2.Title1);
        }
    
    }

    输出:

    a方法
    b方法
    c方法
    d方法
    www.java1234.com
    www.java.com

  • 相关阅读:
    linux信号
    APM浅析
    Jackson高并发情况下,产生阻塞
    [转]slf4j 与log4j 日志管理
    2015-09-27 git学习
    MySQL学习笔记-锁相关话题
    MySQL学习笔记-MySQL数据库优化实践[转]
    MySQL学习笔记-事务相关话题
    几个关于网站架构和性能的问题(我在知乎上的问答)
    MySQL学习笔记-数据库文件
  • 原文地址:https://www.cnblogs.com/xyg-zyx/p/9827150.html
Copyright © 2011-2022 走看看