thinking in Java笔记

来源:互联网 发布:wps表格怎么匹配数据 编辑:程序博客网 时间:2024/05/16 11:38

我们之所以将自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来。除非赞成这个协定中规定的有关语言信息的组织和分类,否则我们根本无法交谈。

面向对象设计(Object-oriented Programming,OOP)根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题。

五个基本特性:1)万物皆为对象2)程序是对象的集合,他们通过发送消息来告知彼此所要做的3)每个对象都有自己的由其他对象所构成的存储4)每个对象都拥有其类型5)某一特定类型的所有对象都可以接收同样的消息。

访问限定词public 任何人都可用

private 类创建者和类内部方法之外的任何人都不能用,(继承的类也不能访问)

protected 类似private +继承的类可以访问

包访问权限 Java有默认访问权限)当没有访问限定词时,类可以访问在同一个包中的其他类的成员,但是在包之外,这些成员如同指定了private一样。

代码复用是面向对象程序设计语言优点之一。

组合 has-aimplements)和继承is-aextends

Overload是重载的意思,Override是覆盖的意思,也就是重写。

重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。

重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类方法的访问权限只能比父类的更大,不能更小。如果父类的方法是private类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。

向上转型(upcasting

向下回溯

 

原创粉丝点击