------- android培训、java培训、期待与您交流! ----------
★抽象类
- 我们在定义一个类的时候,常常需要定义方法来描述该类的行为特征,
- 但有的时候这个(方法)的{方法体}怎样写无法确定,所以,java
- 中允许在定义一个类的时候不写方法体,但是这样的类必须加上abstract关键字来修饰。
- 没有方法体的抽象类是不能被直接调用的,如果想调用抽象类中的方法,
- 就需要创建一个子类,在子类中将抽象类的方法进行实现。
实例演示:
package cn.itbasis;
/*
* 演示一个抽象类中如何建立子类调用这个抽象类的抽象方法
* 需要一个抽象类Animal,一个测试类main,一个Dog类
* Dog类继承抽象类Animal类
*/
public class ChouXiangLei {
//主函数
public static void main(String[] args) {
Dog dog = new Dog();
dog.shout();
}
}
//创建一个抽象类
abstract class Animal{
//定义抽象方法
abstract void shout();
}
//定义Dog类继承抽象类Animal
class Dog extends Animal{
//在实现抽象类方法shout()
void shout(){
System.out.println("汪... ...");
}
}
- 如果一个类中的所有的方法都是抽象的,则可以将这个类用另外一种方式来表示,即接口
- 接口需要要interface关键字来声明
实例演示:
- 由于接口中的方法都是抽象方法,因此不能通过实例化对象的方式来调用接口中的方法。
- 此时,需要定义一个类,并使用implements关键字实现接口中的所有方法。
package cn.itbasis;
public class ImplementsDemo {
public static void main(String[] args) {
Dog dog = new Dog();
dog.breathe();
dog.run();
}
}
//定义一个Animal接口
interface Animal{
//定义全局变量
int ID = 1;
//定义抽象方法breathe()
void breathe();
//定义抽象方法run()
void run();
}
//Dog类实现Animal接口
class Dog implements Animal{
//实现breathe()方法
public void breathe(){
System.out.println("狗狗在呼吸");
}
//实现run()方法
public void run(){
System.out.println("狗狗在跑");
}
}
★学习总结:
- 接口:定义接口用interface 实现接口用implements
- 接口中的方法都是抽象的,不能被实例化,就不能调用其方法,而使用implements关键字实现接口
- 中的方法,可以使部分实现,也可以使全部都实现。
- 接口可以通过extends多继承,中间用逗号隔开。
- 一个类可以通过implements多实现,被实现的多个接口之间用逗号隔开。