您的位置:首页 > 编程语言 > Java开发

JAVA面向对象基础小结

2012-08-14 14:26 281 查看
JAVA基础知识
JAVA的面向对象(obtion object)

Java面向对象首先要理清对象和类的关系:

1. 类是对象的模板,对象是类的体现;

现在把一个类比较一张汽车设计图纸,对象比做刚按照这张图纸制造出来的汽车。

2. 一个类有很多对象,对象不能改变类的内容。

一张图纸能够造出很多汽车,,其中的一辆车进行了改装,但是没能改变设计图纸,所以后面制造出来的汽车还是没有受到影响。

3.创造一个类(类名首字母大写)

类名 对象名 = New 类名();

Java面向对象主要分为继承、接口、多态

继承:

1. 表示继承了父类的所有的东西,除了父类的private属性和方法,但是不能对其改变,只能在其基础上进行发展。所以没有败家子的出现。

2. 继承关键字extends

Class 子类 extends 父类{

}

接口:

1. 接口其实是一个方法申明的集合,里面只能放public static final 定义的常量(常量名全大写字母)和没有被实现的方法。接口只能被类实现,接口可以继承于接口

2. 实现一个接口,必须实现其中的所有方法,使用关键字implements.

Class 类名 implements 接口{

}

多态:

多态的体现主要分为以下两方面:

1. overload和overriod

(1)这里首先介绍以下overload是方法的重载,重载的要求是:方法名相同,参数的类型和个数不同。与返回值没有关系。在调用时主要由参数来判断调用的是哪个重载方法。

(2)然而overriod是方法的覆写,覆写的要求是:方法名相同,参数的个数个类型相同,返回类型必须相同。但是记住覆写发有继承关系的两个类当中。如果一个方法被覆写,子类对像在调用时一定是调用被覆写的方法。

2.转型问题

(1)向上转型

父类 对象 = new 子类---------à 自动转型

(2)向下转型

子类 对象a = (子类)对象b---à 强制转型

注意:向下转型需要注意的是,向下转型对象b必须是子类的实例,所以一般使用instanceof来判断b对象是否是子类的实例。

If(b instanceof 类名)

{

子类 对象a = (子类)对象b

}

还要注意的是一般使用时,先把子类向上转型以后再向下转型。要不使用instanceof这样不会发生转型错误。

现在看看抽象类和接口的区别:

抽象类里面可以有抽象的方法也可以有实现的方法,可以有常量也可以有变量。抽象类可以被单继承。

接口里面只能放抽象的方法,和常量,接口可以被实现。也可以被接口多继承。接口中不能使用static关键字。

看看访问权限的差别:

本类中
本包中
子类中
其他
PUBLIC
可以
可以
可以
可以
PROTECT
可以
可以
可以
默认类型
可以
可以
PRIVATE
可以
需要记住的一些关于static,private,final的细节:

有关键字static,private,final的方法不能被覆写。

其中static的方法是不能被覆写的,如果在子类中还有一个static的方法想覆写它,则不叫覆写,叫做重新定义。所以更具对象来调用相应的方法。

Private的方法不能被覆写,因为private的方法是父类自己的东西,不能被子类得到。在这里说明一下,覆写时要注意权限问题,权限只能放大不能缩小,不然会发生编译错误。

Final定义的方法不能被覆写,因为final关键字一般定义固定的东西,比如一个类如果是final定义的则不能被继承。

Static定义的静态变量,是分配了内存空间的,所以,static变量是全局变量,在它定义后的任何修改都将改变它的值。

Static定义的静态区域,优先于主方法。

写的不好的地方,请大家提出来,好及时的改正,希望在今后大家一起进入嵌入式的学习,相互交流,共同进步,下次我会把简单字符驱动的总结和大家一起分享,有什么不明白的可以和我一起交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: