上课视频:
链接:https://pan.baidu.com/s/1TgwazoJS8K2clRe9kxJ5Fw 密码:cbj9
链接:https://pan.baidu.com/s/1fTmD9opbYD9jpoXDdjK9gw 密码:ejje
作业视频:
链接:https://pan.baidu.com/s/1XryMJzLASySL1GmyPL9J6A 密码:slan
链接:https://pan.baidu.com/s/1cEU2MuO9i6nQWSv_jM7O2w 密码:3jf2
一、接口关键字
interface
案例:
public interface Skill {
}
二、接口中的特点。
1.接口当中所有的函数都不能有方法体
2.接中函数默认是public
3.接口中定义成员变量。默认是public static final (公共,静态的,常量)
4.接口可以继承接口,就会有父接口中定义的函数。
5.接口不能被实例化(不能被直接的new出对象)
三、实现类的特点。
1.实接接口的关键字是implements
public class LibaiHero extends People implements SkillInterface{
}
2.类实现了一个接口,就必需去实现接中当中所有定义的函数。
3.实现类可以去实现多个接口,实现多个接口用","号隔开
3.可以用接口对象去赋值子类的对象
四、继承和接口的关系
继承是继承的类。
接口是要被类去实现的。
作业:
定义一个车类,四个轮子,一个发动机,速度,颜色,时速(km/h),车有一个跑的功能打印以多少时速在跑。
再写一个宝马车,重写上面的所有属性,有一个特殊功能,(GPS定位)
再写一个特斯拉,GPS功能,自动驾驶。
再写一个奔驰,GPS,自动驾驶,无人机导航。
跟据需求定义出上面的类和接口,并继承或实现它。
作业2:
按要求编写一个Java应用程序程序:
(1)定义一个接口CanFly,描述会飞的方法public void fly();
(2)分别定义类飞机和鸟,实现CanFly接口。
(3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,
再定义一个makeFly()方法,其中让会飞的事物飞。并在main方法中调用该方法,
让飞机和鸟起飞
作业3
建立一个工程,该工程中包含如下内容:(具体的工程名、包名、java文件名、接口文件名自定)
1.定义一个接口Ishape,该接口中包含两个成员:周长和面积;
2.分别定义四个类,矩形类:rectangle,三角形类:Triangle,平行四边形类:parallelogram,梯形类Echelon,这四个类都实现接口Ishape,同时各类拥有自己的私有属性,比如说矩形的属性长和宽,平行四边形的属性边长和高,三角形的属性三个边长和高,梯形的属性上底、下底、腰长和高等,给每个类添加相应的构造方法,使各私有属性都能获得相应的值。
3.定义一个测试类TestShape,在该类中定义一个方法,只要调用该方法就能获得对应类型的周长和面积,然后在该类中进行相关测试。
注:类中描述的成员除上述内容外,可通过自己的想法自行添加,也可不添加。
作业4:
1.说出下面程序的执行结果:
interface InterfaceA {
String S = "good ";
void f();
}
abstract class ClassA {
abstract void g();
}
class ClassB extends ClassA implements InterfaceA {
void g() {
System.out.print(S);
}
public void f() {
System.out.print(" "+ S);
}
}
public class Test {
public static void main(String[] args) {
ClassA a = new ClassB();
InterfaceA b = new ClassB();
a.g();
b.f();
}
}
结果:________
作业5:
2、按要求编写Java程序:
(1)编写一个接口:InterfaceA,只含有一个方法int method(int n);
(2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算1到n的和;
(3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算n的阶乘(n!);
(4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现接口的类。