一个类,里面有3个东西,都要搞清楚他们
成员变量
构造方法
成员函数
interface Inter{
public int num=10;
public final int num2=20;
public static final int num3=30;
//接口中的成员变量无论你写的是什么样子的,最后他都默认帮你补全成了这个样子,建议写的时候就直接写长这个样子
//public Inter(){} Error:(6, 17) java: 需要<标识符>,说明接口是没有构造方法的
//public void show(){} Error:(7, 23) java: 接口抽象方法不能带有主体
void show(); //不写方法体,默认是抽象的
//他会自动帮你补全public abstract这个默认修饰符,就像成员变量一样默认补全,建议自动写出
}
//接口名+Impl这种格式是接口的实现类格式
class InterImpl implements Inter{
public InterImpl(){
super();
//默认访问接口的无参构造,但是接口没有构造方法,那这个访问哪个呢?
//所以的类都默认继承自一个类:Object
}
public void show(){};
}
public class Demo {
public static void main(String [] args){
Inter i=new InterImpl();
System.out.println(i.num);
System.out.println(i.num2);
/*
i.num=100;
i.num2=200;
System.out.println(i.num); //Error:(15, 10) java: 无法为最终变量num分配值
System.out.println(i.num2);//Error:(16, 10) java: 无法为最终变量num2分配值
*/
System.out.println("---------------");
System.out.println(Inter.num);
System.out.println(Inter.num2);
//可以直接通过接口名来访问,这里我们就可以看出他默认有static在里面了
}
}
程序运行结果为:
10
20
10
20