浅谈Java面向对象
Java的面向对象这里对于初学者来说无疑是一大挑战,从基本的概念到实际操作,上手都不是很容易,在看了很多官方概念资料之后,自己对面向对象更是糊涂。那么这篇文章就有助于你理解什么是面向对象。
目录
- 一、面向对象思想
- 二、类与对象的关系
- 三、类
- 成员变量
- 成员方法
一、面向对象思想
从基本的概念来看:
面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。
我想一般的初学者基本上很难理解概念。换句话说面向对象就是一种程序设计方法。
这是一张面向对象的思维导图。学习面向对象先要了解什么是类,什么是对象,图中也有解释。
面向对象的三个基本特征:封装、继承、多态
- 封装:是将一类事物的属性和行为抽象成一个类,一般是使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。
- 继承:基于已有的类的定义为基础,构建新的类,已有的类称为父类,新构建的类称为子类,子类能调用父类的非private修饰的成员,同时还可以自己添加一些新的成员,扩充父类,甚至重写父类已有的方法,更其表现符合子类的特征。
- 多态:对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各个子类中具有不同的语义。
注意:Java语言是单继承的,即只能有一个父类,但Java可以实现多个接 口,可以防止多继承所引起的冲突问题。
二、类与对象的关系
对象:是该类事物的具体体现
类:是一组相关的属性和行为的集合。
举例:
- 类 学生
- 对象 班长就是一个对象
类与对象的关系如图
图纸就相当于类即造汽车的模型,汽车就是对象即类的实例。
java中用class描述事物
- 成员变量就是事物的属性
- 成员方法就是事物的行为
定义类其实就是定义类的成员(成员变量和成员方法)
三、类
Java语言中一个类的实现包括:类声明和类体。
类声明语法格式如下:
[public][abstract|final] class className [extends superclassName] [implements interfaceNameList] {
//类体
}
class是声明类的关键字
className是自定义的类名
class前面的修饰符public、abstract、final 用来声明类,它们可以省略
superclassName为父类名,若省略则该类继承Object类(Object类所有类的根类)
interfaceNameList是该类实现的接口列表,接口列表中的多个接口之间用逗号分隔。
声明动物(Animal)类代码如下:
public class Animal extends Object { //extends Object可以省略
//类体
}
类体是类的主体,包括数据和操作,即成员变量和成员方法。
成员变量
声明类体中成员变量语法格式如下:
class className {
[public | protected | private ] [static] [final] type variableName; //成员变量
}
type是成员变量数据类型
variableName是成员变量名
type前的关键字都是成员变量修饰符,它 们说明如下:
- public、protected和private修饰符用于封装成员变量。
- static修饰符用于声明静态变量,所以静态变量也称为“类变量”。
- final修饰符用于声明变量,该变量不能被修改。
下面看一个声明成员变量示例:
public class Animal extends Object {
//动物年龄
int age = 1;
//动物性别
public boolean sex = false;
//动物体重
private double weight = 0.0;
}
成员方法
声明类体中成员方法语法格式如下:
class className {
[public | protected | private ] [static] [final | abstract] [native] [synchronized] type methodName([paramList]) [throws exceptionList] { //方法体
}
}
type是方法返回值数据类型,methodName是方法名。type前的关键字都是方法修饰符,它们说明 如下:
- public、protected和private修饰符用于封装方法。
- static修饰符用于声明静态方法,所以静态方法也称为“类方法”。
- final | abstract不能同时修饰方法,final修饰的方法不能在子类中被覆盖;abstract用来修饰抽象方 法,抽象方法必须在子类中被实现。
- native修饰的方法,称为“本地方法”,本地方法调用平台本地代码(如:C或C++编写的代 码),不能实现跨平台。
- synchronized修饰的方法是同步的,当多线程方式同步方法时,只能串行地执行,保证是线程安 全的。
方法声明中还有([paramList])部分,它是方法的参数列表。throws exceptionList是声明抛出异常列表。
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!
还没有评论,来说两句吧...