第一部分-自我介绍
第二部分-Java的基础知识
1、接口和抽象类的区别
抽象类(abstract)
- abstract修饰的类就是抽象类,修饰的方法就是抽象方法。
- 抽象类中可以没有抽象方法,但有抽象方法的类一定要声明为抽象类。
- 抽象类不能使用new来创建对象,它是用来让子类继承的。
- 抽象方法只有方法的声明,没有实现,让其子类实现。
- 子类继承抽象类,必须实现抽象类的所有方法,否则该子类也要声明为抽象类。
//abstract 抽象类:类 extends: 单继承(接口可以多继承)public abstract class Action { //约束~有人帮我们实现~ //abstract,抽象方法,只有方法名字,没有方法的实现! public abstract void doSomething(); //1.不能new抽象类,只能靠子类去实现它,仅作为一个约束 //2.抽象方法只能出现在抽象类中,抽象类可以有普通方法 //抽象的抽象:约束 //3.抽象类有构造器,可以派生子类 //4.抽象类的意义:约束,提高开发效率。但是类只能单继承,所以有局限 用的不多 }
//抽象类的所有方法,继承了它的子类,都必须要实现它的方法public class A extends Action{ @Override public void doSomething() { }}
接口(interface)
- 普通类:只有具体实现
- 抽象类:具体实现和规范(抽象方法)都有
- 接口:只有规范,没有方法实现,专业的约束!约束与实现分离:面向接口编程~
- 接口就是规范,定义的是一组规则,"你是什么…必须做什么…"的思想。
- 接口的本质是约束,就像人间法律一样,制定好大家都遵守。
//interface 定义的关键字,接口都需要有实现类public interface UserService { //接口中的所有定义其实都是抽象的 public abstract void add(String name); void delete(String name); void update(String name); void query(String name);}
//类 可以实现接口 implements 接口//实现接口的类,就需要重写接口中的方法public class UserServiceImpl implements UserService{ @Override public void add(String name) { } @Override public void delete(String name) { } @Override public void update(String name) { } @Override public void query(String name) { }}
作用:
1、约束
2、定义一些不同的方法,让不同人的实现
3、public abstact