首页 > 代码库 > Java学习笔记1-面向对象特性

Java学习笔记1-面向对象特性


面向对象编程(OOP):让编程更有层次感,增加了公用模块的复用性,让程序员精力更加的集中到具体业务实现和技术突破上去。同时也让程序员在实现时提前考虑框架性,比如类的设计,可以对形象思维有了更高的要求。


面向程序设计方法的 5 大基本特征:

1.所有东西都是对象;

2.程序是一大堆对象的组合,通过消息传递,各对象知道自己该做什么;

3.每个对象都有自己的存储空间,可容纳其他对象;

4.每个对象都有一种类型;

5.同一类所有对象都可以接收相同的消息。


作用域当前类同一Package子孙类其他package
public
protected×
friendly××
private×××

类(Class):一些公用的通用属性都可以放到类里面来进行实现,避免多个地方重复实现,每个类相当于一个类型,比如图形可以是一个所有形状的公用类。


接口(Interface):通过类的接口来具体操作/调用类的具体实现/动作,比如图形类可以有创建、删除的公用接口和实现。


继承(extrends):

子类拥有父类非 private 的属性,方法;

子类可以拥有自己的属性和方法,即子类可以对父类进行扩展;

子类可以用自己的方式实现父类的方法;

Java 的类继承是单继承,但是接口可以使用关键字 implements 实现多重继承;

子类会默认调用父类的无参数构造器,但是如果没有默认(无参数)的父类构造器,子类必须要显示的指定父类的构造器(有参数),而且必须是在子类构造器中做的第一件事;

继承提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系),慎用继承。

继承后类型支持向上转型,比如B继承A,那么B的实例也属于A类型。


动态绑定/多态:当继承和向上转型同时存在时,函数实现会遵循多态原则进行实际的调用,调用顺序为:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。


最终类:使用关键字 final 定义,表示该类不可被继承,final 类里面的方法和变量都默认是 final 属性。


抽象类:使用关键字 abstract 定义,抽象类只能被继承后使用,不能被直接实例化。


接口:使用关键字 interface 定义,接口不能被实例化,接口没有构造方法,接口中的方法默认都是隐性抽象方法,接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。


Java 集合类:Set、List、Map、Queue。


单根结构:Java 中所有类最终都是从 "Object" 基础类继承而来。


下溯造型:相当于强制类型转换,使用前一定要确认安全性。


泛型:只使用一个大写字母来定义,并且放到<>中,泛型主要是定义时不指定明确的类型,而是在实例化时再指定,加强了代码复用性。


垃圾收集器:Java 支持内存的自动分配和回收机制,功能对性能会有一定影响。


异常处理:Try、catch 和 finally 机制。


多线程:Java 支持多线程处理,并且可以在多处理器时自行分配处理,对于共享资源的使用时,需要使用资源锁或者 synchronized 关键字。


本文出自 “Android学习笔记” 博客,请务必保留此出处http://sylan215.blog.51cto.com/681991/1914762

Java学习笔记1-面向对象特性