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(); public void d(){ c(); a(); b(); } } interface InterF{ public void d(); } class B extends A implements InterF{ 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(); test.d(); } }
输出的结果为 C() b() a()
接口实现封装,抽象类实现流程控制,子类实现具体业务5)java的四种访问修饰符: private default protected public 同一个类 可 可 可 可 同一个包内的不同类 不可 可 可 可 不同包内的不同类 不可 不可 可(子类) 可 不同包且不是子类 不可 不可 不可 可