Java学习 (25) 对象篇(05)抽象类&接口
抽象类
- abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。
- 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。
语法实例
// abstract 抽象类 单继承
public abstract class Action {
//约束,可以多人实现
//abstract 抽象方法,只有方法名字,没有方法的实现
public abstract void doSomething();
}
//抽象类的所有方法继承了他的子类都必须要实现他的方法,除非子类也是抽象的
// public abstract class A extends Action{}
public class A extends Action{
@Override
public void doSomething() {
}
}
注意点
-
不能new这个抽象类,只能靠子类去实现它
-
抽象类中可以写普通方法,但抽象方法一定在抽象类中
-
抽象类可以作为一个模板来使用,从而减少开发效率
具体讲解视频(狂神说Java)
接口
-
接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能.….”的思想
-
接口的本质是模型
-
编程的精髓,是对对象的抽象,最能体现这一点的就是接口
-
接口的实现
- 类可以通过 implements 来实现接口中的定义类
- 要实现接口中的类,必须要实现(重写)接口中的方法
- 可以利用接口来实现多继承
语法实例
public interface User {
//接口中的所有定义的属性都是抽象的 public static final
int age = 10;
//接口中的所有定义的方法都是抽象的 public abstract
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
package com.luo.oop.demo11;
public interface Timer {
void timer();
}
package com.luo.oop.demo11;
public class UserImpl implements User, Timer {
public void add(String name){}
public void delete(String name){}
public void update(String name){}
public void query(String name){}
public void timer() {}
}