浅谈Java面向对象

简介: Java的面向对象这里对于初学者来说无疑是一大挑战,从基本的概念到实际操作,上手都不是很容易,在看了很多官方概念资料之后,自己对面向对象更是糊涂。那么这篇文章就有助于你理解什么是面向对象。

一、面向对象思想


从基本的概念来看:

面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。


我想一般的初学者基本上很难理解概念。换句话说面向对象就是一种程序设计方法。1.jpeg这是一张面向对象的思维导图。学习面向对象先要了解什么是类,什么是对象,图中也有解释。


面向对象的三个基本特征:封装、继承、多态


封装:是将一类事物的属性和行为抽象成一个类,一般是使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。


继承:基于已有的类的定义为基础,构建新的类,已有的类称为父类,新构建的类称为子类,子类能调用父类的非private修饰的成员,同时还可以自己添加一些新的成员,扩充父类,甚至重写父类已有的方法,更其表现符合子类的特征。


多态:对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各个子类中具有不同的语义。


注意:Java语言是单继承的,即只能有一个父类,但Java可以实现多个接 口,可以防止多继承所引起的冲突问题。


二、类与对象的关系


对象:是该类事物的具体体现


类:是一组相关的属性和行为的集合。

举例:


类 学生

对象 班长就是一个对象

类与对象的关系如图

20.png

图纸就相当于类即造汽车的模型,汽车就是对象即类的实例。

java中用class描述事物


成员变量就是事物的属性

成员方法就是事物的行为

定义类其实就是定义类的成员(成员变量和成员方法)


三、类


Java语言中一个类的实现包括:类声明和类体。

类声明语法格式如下:

[public][abstract|final] class className [extends superclassName] [implements interfaceNameList] { 
  //类体 
}

class是声明类的关键字

className是自定义的类名

class前面的修饰符public、abstract、final 用来声明类,它们可以省略

superclassName为父类名,若省略则该类继承Object类(Object类所有类的根类)

interfaceNameList是该类实现的接口列表,接口列表中的多个接口之间用逗号分隔。

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是声明抛出异常列表。





相关文章
|
25天前
|
存储 Java 数据处理
Java基础—笔记—面向对象篇
该内容是关于面向对象编程的介绍,包括类(用于定义数据和处理方法)、对象(通过类创建,存储和处理数据)的创建和使用,`this`关键字(代表调用方法的对象,用于区分成员变量和局部变量),成员变量与局部变量的区别(定义位置、初始化值、内存区域、作用域和生命周期),构造器(无返回值、与类名相同的特殊方法,用于对象创建和初始化),以及封装的概念(数据隐藏和暴露控制)和实现步骤(私有化成员变量,提供公共的setter和getter,以及构造器)。
17 0
|
7天前
|
Java
Java面向对象实践小结(含面试题)(下)
Java面向对象实践小结(含面试题)(下)
18 1
|
6天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
9 0
|
6天前
|
Java
java使用面向对象实现图书管理系统
java使用面向对象实现图书管理系统
|
6天前
|
Java
Java语言---面向对象的三大特征之继承
Java语言---面向对象的三大特征之继承
|
6天前
|
机器学习/深度学习 Java Python
Java面向对象知识体系---基础版
Java面向对象知识体系---基础版
|
7天前
|
安全 Java 编译器
Java面向对象思想以及原理以及内存图解(下)
Java面向对象思想以及原理以及内存图解(下)
17 0
|
7天前
|
Java
Java面向对象思想以及原理以及内存图解(上)
Java面向对象思想以及原理以及内存图解
18 0
|
7天前
|
设计模式 Java
Java面向对象实践小结(含面试题)(上)
Java面向对象实践小结(含面试题)
13 1
|
11天前
|
安全 Java
Java基础&面向对象&继承&抽象类
Java基础&面向对象&继承&抽象类