5条JAVA基础
--周剑雄老师
1)final :
当一个类被定义为final后,它将不能被继承;当一个变量被定义为final后,它将不能改变值;当一个方法被定义为final后,它将不能被重写。
2)抽象类,抽象方法以及接口:
抽象类不能生成实例,只能用来继承,一般会包含抽象方法,作为债务产生;当类中定义一个抽象方法,此类自动变成抽象类;抽象方法没有方法体;接口可以看成一个全部都是抽象方法的类,接口的所有方法都必须是public或者默认类型;
3)OO三大特性:继承,封装,多态
继承:extends,一般用将父类的引用初始化为某个子类的对象;此时只能调用父类中有的方法,子类中的有的但父类没有的方法不能调用。
封装:包括接口封装和抽象类封装,其中接口封装的效果最好。
多态:重写,重载;在子类中覆盖父类的方法,无论调用的对象是由子类构造方法生成的父类的对象还是子类的对象,调用的都是子类中的方法,要访问父类的方法,使用父类构造方法生成的父类的对象或使用super。
4)父债子还:
- abstract public class A{//声明一个抽象类
- public abstract void a();
- public abstract void b();
- public abstract void c();//声明3个抽象方法a(),b(),c();
- public void d(){
- c();
- a();
- b();
- }
- }
- interface InterF{//声明一个InterF接口
- public void d();
- }
- class B extends A implements InterF{//声明一个继承自A实现InterF //接口的类B
- public a(){
- System.out.println("a()");
- }
- public b(){
- System.out.println("b()");
- }
- public c(){
- System.out.println("c()");
- }
- }
- class Test{//测试类
- public static void main(String[] args){
- InterF test = new B();//将InterF的引用初始化为B //的对象
- test.d();//只能调用 d()方法
- }
- }
输出的结果为
C()
b()
a()
接口实现封装,抽象类实现流程控制,子类实现具体业务
5)java的四种访问修饰符:
private default protected public
同一个类 可 可 可 可
同一个包内的不同类 不可 可 可 可
不同包内的不同类 不可 不可 可(子类) 可
不同包且不是子类 不可 不可 不可 可