zoukankan      html  css  js  c++  java
  • 接口详解例子代码(附Java1.8的接口新特性)

    接口,与抽象类类似但是区别也很大,他们都是标签,用来提醒父类一定要实现的类里创建抽象方法。而接口类可以implements 多个接口,抽象类则只能父类只能继承一个抽象类,与抽象不同的是它不是继承组合关系,所以无法使用super关键字来调用接口里的方法,

    接口的要求:

    1.接口类必须使用interface关键字创建

    2.接口类的父类必须使用implements来附属接口类

    3.一个父类可以implements 多个接口(而抽象类的父类只能继承一个抽象类)

    4.接口的所有量都是常量,接口类里会将量自动添加static final  关键字。

    5.接口里的抽象方法在使用的时候必须需要在父类中重写

    6.在Java1.8的新版本中,接口可以用default关键字在接口类中实现方法。而实现的方法不需要在父类中重写

    7.接口中常量的调用可以直接用接口类调用也可以实例父类后调用,但是重写的抽象方法或者实现方法不行,必须new父类后实现。


    package rom;
    
    import java.awt.Container;
    
    import javax.swing.JFrame;
    import javax.swing.WindowConstants;
    
    public class Xamle_1 implements demo {
    	public void demo1() {
    		System.out.println("重写接口里的demo1");
    		
    	}
    	public void demo1_2() {
    		System.out.println("重写接口里的demo1_2");
    		
    	}
    	
    	 public static void main(String[] args) { 
    		 Xamle_1 xamle_1 = new Xamle_1();
    		 xamle_1.demo1(); //调用重写后的demo1方法
    		 xamle_1.demo2(); //用new的实例类,在接口中直接调用关键字default修饰的已经实现的方法,此方法不需要重写
    		 System.out.println("调用接口中的常量:"+demo.a);//只有常量可以不用new 一个实例类,直接用接口类调用
    		 System.out.println("调用接口中的常量:"+xamle_1.b); //用 new的实例类调用常量b
    		 
    		 
    			
            }				
    	}
    interface demo {
    	public void demo1() ; //在接口中可以不写abstract关键字,因为接口中的抽象方法已经默认写了abstract
    	abstract public void demo1_2(); //与上面对比
    	default void demo2() {
    		System.out.println("default 关键字在接口中实现方法");
    		
    	}
    	public static final int a = 100; 
    	public static int b = 100; //虽然没有写但是接口的常量会默认写上final,所以接口中的常量是无法修改的
    	
    	
    	
    }
    
    
    
    	
    


  • 相关阅读:
    EntityFramework中的线程安全,又是Dictionary
    记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)
    这一个月
    使用Nginx解决IIS绑定域名导致应用程序重启的问题
    Bootstrap for MVC:Html.Bootstrap().TextBoxFor(model=>model.Name)
    Orchard 刨析:Logging
    Orchard 刨析:Caching
    Orchard 刨析:前奏曲
    Orchard 刨析:导航篇
    数据集
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/9708685.html
Copyright © 2011-2022 走看看