Java编程思想2020-10-28

前言

1、访问控制

  • 让客户端程序员无法触及他们不应该触及的部分
  • 允许库设计者可以改变内部的工作方式而不用担心会影响到客户端程序员

2、容器

-不同的容器提供了不同类型的接口和外部行为;不同的容器对于某些操作具有不同的效率

  • 单继承结构意味着所有类型都是Object,所以可以存储Object的容器可以存储任何东西
  • 但是对于容器内部的Object向下转型具有危险性,所以有了泛型

3、初始化

  • 构造器确保初始化问题
  • 没有提供任何构造器,默认空构造器;声明了带参构造器,需要手动添加无参构造器

4、通过返回值区分方法重载

  • 不靠谱。因为存在只想要方法实现的中间效果,不会用具体类型变量接受返回值的业务。

5、this关键字的历史原因

A a = new A()
A b = new B()
a.say()
b.say()
【问题:】如何知道是被a还是被b调用了

为了能用简便、面向对象的语法来编写代码————即“发送消息给对象”,编译器做了一些幕后工作。它暗自把“所操作对象的引用”作为第一个参数传递给了的say().所以上述两个方法的调用就变成了这样:

A.say(a)
B.say(b)

理解了this关键字以后,就能更加全面的理解static的含义

6、成员初始化

  • Java尽力保证:所有变量在使用之前都能得到恰当的初始化。
  • 对于方法的局部变量,Java以编译时错误的形式来贯彻这种保证
  • 对于类的基本类型成员变量会有默认的初始值
  • 类内部,变量定义的先后顺序决定了初始化顺序。即使变量定义散布在方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化

7、.java .class .jar

posted @ 2020-10-28 16:04  Loading~  阅读(123)  评论(0编辑  收藏  举报