首页 > 代码库 > JAVA的18条BASE
JAVA的18条BASE
关于Java的基础知识,实践证明学习OO,最终领悟“父类控制流程,子类实现具体的业务逻辑”的OO思想,需要的不是智商而是基础,也就是说,基础越好越快领悟,所以请每位S1学习Java的学员请牢记以下Java领域的基础知识,最后祝各位学员在开发项目前可以领悟OO的真谛,老师也会竭尽全力助你们打通这道通向Java的极速大门。
1、 OO三大特性:继承、封装、多态(主要用于搭建程序框架,以此来提高代码的重用性与解藕业务逻辑)。
2、 Java中的首字母大写与命名规范:在Java中只有两个地方会用到大写的字母做为命名的第一个字母,一个是类,别一个是静态变量。如:类Test、静态变量STATIC_NAME,如果Java使用的命名由几个英文组成,则第二个开始的每个词使用大写隔开,如:userGroupId、 studentName。切忌:在Java中命名不能用中文与拼音,以及只有类名与静态变量开头的字母是使用大与,其他的命名如方法名、变量名一律开头使用小写。
3、包(package):Java里面的类太多了,你写,我写,大家写,我们用的类名相同,不可能放在一起,怎么办?把它们放在不同的包里面,就不会冲突了,包名为网址倒过来写,请不要使用拼音来命名包名,以及包名不要过长(包的结构就是程序框架的结构).
4、 抽象类(abstract class): 前面加了abstract 关键字修饰的类就是抽象类,抽象类不能生成实例(不能使用New关键字)只能拿来继承,抽象类中一般包含抽象方法(作为债务产生),就是没有具体实现的方法体(只做标示),一个类中如果定义了一个抽象方法这个类也就自动变成抽象类。
5、 抽象方法. 前面加了abstract 关键字修饰,没有方法体.也就是方法什么事也没干,像个空头支票(产生债务方法之一).
6、 接口(interface): 接口可以理解为纯抽象的类,它的每个方法都是未实现的,它就像一个产品的说明书(产生债务方法之一)。
7、 对象: 对象是存在的具体实体,就是按照类(汽车设计图纸),做出来的真正的看得见摸得着的汽车(注:声明一个对象就像一个变量名,如果使用了New关键字就已在内存中分配了地址).
8、 抽象:分析问题时抽出重要的因素,忽略掉不重要的(我们每天都在抽象身边的事物,如:判断一个人是好人还是坏人)。
9、静态变量与方法(Static):所谓的静态变量就是在定义时加一个Static的关键字,被定义为静态的方法与变量是唯一的,也就是说不管这个类有多少个实例化对象它们都共用这个类中的静态变量或方法,这也是为什么使用静态变量或方法是用类名来直接调用的原因,而非静态变量或方法等于每个实例化对象都有自己的方法与变量,这样就会互不影响。举个例子:老师相当于静态的,因为被所有学员所共有,而学员就是非静态的,因为每个学员都是独立的。
10、 Java的四种类型:
1.Public : 公共类型,在继承时,父类定义为公共类型的方法或变量子类可以全部继承过去,而且别的类可以随意调用公共类型的方法和变量。
2.Private: 私用类型,在继承时,父类定义为私用类型的函数或变量子类不能继承,而且别的类不可调用私有类型的方法和变量。
3.Protected:保护类型,在继承时,父类定义为保护类型的函数或变量子类可以全部继承过去,只有它的子类可以在不同的包调用它的方法(与Default唯一不同的地方,Default不可以),在一个包下面可以全部被调用。
4.Default:默认类型,不加类型关键字会自动变成默认类型,继承时父类定义为默认类型的函数或变量子类会全部继承过去,但只有在一个包下面的类才能调用。
11、 封装(Encapsulation )将重要的信息隐藏起来,或者将不需要使用者知道的很麻烦的信息全部藏起来,就像全自动洗衣机,只提供给用户一个简单的按钮,把里面具体的实现藏起来,使用户感觉操作很简单(封装有两种方法接口与抽象类也叫基类,其中接口的封装效果最好)。
12、 继承(extends):子类可以继承父类非私有的属性和方法,就像儿子继承老爸的财产,儿子可以少奋斗二十年。
13、 多态(Polymorphism): 多态性是指“多种形式”也叫“动态绑定”它使用不同的子类来执行不同的操作,前提是子类中相关方法名必须是一样,这样通过New一个不同的子类,通过接口或者父类就可以做到只修改一行代码而做到实现不同的功能,因为对于子类来讲方法名大家都是一样的,就好像“画图”这个方法,每个不同形状的图形都有,New一个圆进去就是画圆,New一个正方型进去就是画正方型,这是因为在这些不同形状的图中,他们都有一个一样的方法叫“画图”,不同形状的图形在自己的“画图”方法中实现自己的特色,这样使用动态绑定,只需要修改很少的代码就可以做到New什么就画什么,这些就是多态。
14、 重载:当多个方法具有相同的名字而含有不同的参数个数或类型时,便发生重载.
15、重写:子类继承父类,子类和父类的方法具有相同的名称和类型,但子类干的事和父类干的事不一样。就像你和你老爸都有个方法叫—工作,但工作的内容不一样,你搞软件开发,你老爸是医生.
16、 final类:当一个类定义为final后,它将不能被其他类所继承,在定义静态变量时,一般final和static共同使用,这样这个静态变量就是不可变的。
17、父债子还:这是Java中关于方法重写的一种硬性规定,就像欠账还钱一样。在这里有两种方法会产生债务,一个是抽象方法,另一个是接口中的方法,大家会发现这两种都有一个特性:它们定义的方法体都是空的,这就是产生了债务,所谓的偿还债务只是继承这个抽象类的子类或实现了某个接口的类,它们必须要重写这些空的方法体,否则编译器会报错。在这里只有定义为抽象类才不用还债,空的方法是一定要重写的,就像你不还钱,你的儿子也要还钱,你儿子不还,你的孙子就要还,一直到钱还清了,这个时候你的子类才不用强制重写任何方法。
18、 不能实例化:以下情况定义的类不可实例化(不能使用New关键字)。
1.抽象类
2.构造函数声明为private(私有)(不能继承)
JAVA的18条BASE