Thinking in Java

1.包访问权限:

2.Java中的虚函数:虚函数是动态绑定,那么Java中除了静态方法和final和private
         方法其他的都可以看做是虚函数,子类可以重写父类的方法,但是

         C++中,只有virtual方法是动态绑定的,运行时确定调用哪个函数,

         但是对于普通的函数来说,是编译器确定的,也就是父类指针指向子类

         对象,那么对于非虚函数是调用父类的方法,对于虚函数来说是调用

         子类的方法。但是对于Java来说,只要不是final 、static、private方法(属于final方法)

         都是按照虚函数的处理方式来进行的。

3.final数据:public  static final String a  ="";

      其中public时候可以在包外,static是强调只有一份,final是强调是一个编译器常量。

      必须在定义处或者构造器中队final数据进行初始化,这样就保证了在使用时总是被赋值

      的

  final方法:确保在继承中使用方法保持不变,并且不会被覆盖

  final参数:无法改变参数的引用对象

  final类:不希望它有子类

4.private 方法:子类中即使有相同名称的方法,也不会被覆盖掉,因为私有方法不属于接口的一部分,所以当我们进行向上类型转化的时候

        并不能调用父类的私有方法。

5.Java是平台无关的,所有的类型的大小在平台上都是相同的。

6.并发:如果想从线程中返回值,那么最好实现Callable 方法,Callable<String>  public String call(){}

    在线程启动之前调用setDaemon就会把它设置成后台线程

还有两章:

原文地址:https://www.cnblogs.com/zhanglanyun/p/2544203.html