接口的一些基本概念
目录
用 [TOC]
来生成目录:
接口的概念
抽象方法:在Java中,一个没有方法体的方法定义为抽象方法。
抽象类:类中如果有抽象方法,该类定义为抽象类。
1>抽象类的概述:
动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的。
我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该类必须是抽象类。
2>接口特点:
A:接口用关键字interface表示 格式:interface 接口名{}
B:类实现接口用implements表示 格式:class 类名 implements 接口名{}
C:接口不能实例化
那么如何实例化?
按照多态的方式,由具体的子类实例化,其实这也是多态的一种,接口多态。
D:接口的子类
a:要么是抽象类。
b:要么重写接口中的所有抽象方法。
3>接口的成员特点:
成员变量:只能是常量;默认修饰符public static final;
构造方法:没有。因为接口主要是拓展功能的,而没有具体存在。
成员方法:只能是抽象方法,默认修饰符public abstract.
4> 抽象类的成员方法特性:
A:抽象方法 <强制要求子类做的事情>。
B:非抽象方法 <子类继承的事情,提高代码复用性>
代码块
代码块语法遵循标准markdown代码,例如:
interface AnimalTrain{ //接口的表示
public abstract void jump();
}
class Cat implements AnimalTrain{ //类实现接口用implements
public void jump(){
System.out.println("猫可以跳高了");
}
}
public class InterfaceDemo {
public static void main(String[] args) {
Cat at =new Cat();
at.jump();
}
}
接口的特点
interface Inter {
public int num = 10;
public final int num2 = 20;
public static final int num3 = 30; //默认修饰是public static final
//错误: 需要<标识符>
//public Inter() {}
//接口方法不能带有主体
//public void show() {}
//abstract void show(); //默认是public abstract
public void show(); //默认是public abstract
}
//接口名+Impl这种格式是接口的实现类格式
/*
class InterImpl implements Inter {
public InterImpl() {
super();
}
}
*/
class InterImpl extends Object implements Inter {
public InterImpl() {
super();
}
public void show() {}
}
//测试类
class InterfaceDemo2 {
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); //无法为最终变量num分配值
//System.out.println(i.num2);//无法为最终变量num2分配值
System.out.println(Inter.num);
System.out.println(Inter.num2);
System.out.println("--------------");
}
}