Java 比抽象类还要抽象的类-接口interface
2017-11-17 21:13
405 查看
[b]接口是设计和实现的分离
[/b]
接口中只有:常量和抽象方法。
接口的方法默认就是public abstract
变量默认就是public static final
接口的使用方法:publicinterfacename{
/*默认是公开的不写也是公开的*/public static final String name="张三";//接口中定义常量时系统默认会增加
public static final
/*默认是公开的不写也是公开的*/public void test01();//接口中定义的方法默认是public abstract
}
接口的实现方法:public class test implementsname{}
强制转型:
public interface MyInterface{
public static final String name="字符串";
public abstract void test01();
}
interface Fire{
public abstract void test02();
}
class a1 implements MyInterace,Fire{
public void test01(){
System.out.println("MyInterface!");
}
public void test02(){
System.out.println("Fire!");
}
}
----------------------------------------------------------------分割线
public class test{
public static void main(String[] args){
MyInterface s1=new a1();
s1.test01();
//如果要使用test02方法需要强制转型
a1 s2=(a1)s1;
s2.test02();
}
}
输出结果:
MyInterface!
Fire!
接口的多继承
public interface InterA{
public abstract void aaa();
}
interface InterB /*extends InterA*/{ //一样的效果
public abstract void bbb();
}
interface
InterC extends InterA,InterB{
public abstract void ccc();
}
---------------------------------------------------------------分割线
public class TestInterface implements
InterC{
public void aaa(){};
public void bbb(){};
public void ccc(){};
}
[/b]
接口中只有:常量和抽象方法。
接口的方法默认就是public abstract
变量默认就是public static final
接口的使用方法:publicinterfacename{
/*默认是公开的不写也是公开的*/public static final String name="张三";//接口中定义常量时系统默认会增加
public static final
/*默认是公开的不写也是公开的*/public void test01();//接口中定义的方法默认是public abstract
}
接口的实现方法:public class test implementsname{}
强制转型:
public interface MyInterface{
public static final String name="字符串";
public abstract void test01();
}
interface Fire{
public abstract void test02();
}
class a1 implements MyInterace,Fire{
public void test01(){
System.out.println("MyInterface!");
}
public void test02(){
System.out.println("Fire!");
}
}
----------------------------------------------------------------分割线
public class test{
public static void main(String[] args){
MyInterface s1=new a1();
s1.test01();
//如果要使用test02方法需要强制转型
a1 s2=(a1)s1;
s2.test02();
}
}
输出结果:
MyInterface!
Fire!
接口的多继承
public interface InterA{
public abstract void aaa();
}
interface InterB /*extends InterA*/{ //一样的效果
public abstract void bbb();
}
interface
InterC extends InterA,InterB{
public abstract void ccc();
}
---------------------------------------------------------------分割线
public class TestInterface implements
InterC{
public void aaa(){};
public void bbb(){};
public void ccc(){};
}
相关文章推荐
- interface,abstract class,abstract interface Java中的接口,抽象类和抽象接口的异同
- JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展
- java 接口 interface ,接口与抽象类
- java 接口(Interface)与 抽象类(abstract class)
- JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别
- Java:抽象类abstract和接口Interface
- java 接口(Interface)与 抽象类(abstract class)
- Java中接口interface与抽象类abstract
- java中abstract class 与 interface (抽象类与接口)的区别
- java基础知识6-- 抽象类,抽象方法,接口,构造方法,类方法等易混淆的知识点
- java接口:interface 的和抽象类:abstract
- java中抽象类(abstract class)和接口(interface)
- JAVA基础再回首(七)——final关键字、抽象类abstract、接口interface、权限修饰符、导包
- Java 接口(interface)和抽象类(abstract class)区别
- NO8.java笔记【面向对象、抽象类、abstract、接口、interface、多态 、内部类、匿名内部类、异常、Object类】
- 黑马程序员—java基础学习--抽象类(abstract)、接口(interface)、多态
- 抽象类(abstract class)和接口(interface)有什么异同?【Java面试题】
- 黑马程序员-----java入门一DAY13------抽象模板模式 接口interface
- Java中 关键字final,抽象类abstract, 接口interface ,多态
- 【Java学习笔记】接口 抽象类 抽象方法