接口(interface) 与 抽象类(abstract class)

来源:互联网 发布:寺库网是正品吗 知乎 编辑:程序博客网 时间:2024/05/13 06:12

一、接口

public interface MyInterface {public static final int a=1;//默认的变量为public static final类型(常量),没有普通成员变量public abstract void b();//接口中的所有的方法不带方法体void a();//接口中所有方法默认为public abstract[public abstract void a()]类型/*错误例子*///public MyInterface();//没有构造方法  不能new,不能实例化(但可以声明)//public static void c();//不能有静态方法和其他非抽象的普通方法}

二、抽象类

public abstract class MyClass { //(1)访问类型可以为 public,protected和默认类型private int i; //(2)可以有成员变量private static String s;//(3)可以有静态成员变量private static final char s1='1';//(4)常量public MyClass(){ };//(5)可以有构造方法,但不能实例化,可以声明public static void main(String[] args){//MyClass myClass1=new MyClass();    //报错,不能实例化MyClass myClass=new MyChildClass(); //声明通过其子类(实现了其抽象方法)}public static void a(){};//(6)可以有静态方法public abstract void b();   //(7)可以有抽象方法,但不能有主体}class MyChildClass extends MyClass{@Overridepublic void b() {}          //(8)子类继承时候,需要实现父类的所有抽象方法,否则将其变为抽 抽象类}/*PS:* (1)与基本类没有什么区别类似(2,3,4,5,6),特别的在与(1)不能为[private] 和 (7)[有抽象方法的类一定是抽象类]*/


0 0
原创粉丝点击