JAVA学习笔记one:类与对象and面向对象和面向过程and继承性与多态性

原创 2016年06月01日 18:57:25

一、类与对象

类可以理解为生活中一些对象共同点的集合、主观的、以人的意识存在的;对象则是生活中一个一个实体,是客观存在的。类具有共同特征和共同行为,例如人类有身高、体重、体重等特征,也有吃饭、睡觉、学习等行为。

1、类的基本语法

(1)一个类对应一个java文件

(2)类的属性与特征定义格式

     属性(特征):public 类型 属性名

     方法(行为):public 返回类型 方法名(参数列表){}

(3)创建对象时的格式

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

(4)调用格式

     调用属性时格式:对象名.属性名(具体内容);

     调用方法时格式:对象名.方法名(具体内容);

二、面向对象和面向过程

生活中一件事情 =  对象(执行者)+ 过程(执行流程)

简单说,面向对象,关注的是对象,也就是关注事情的执行者是谁,结果并不确定;面向过程,关注事情的执行流程,结果已经确定。面向对象也就相比面向过程有了更多的灵活性。例如:我写代码。面向对象关注的是“我”,而面向过程关注的是“怎么写的”,写的过程。

三、继承性与多态性

    面向对象有三大特性,分别是继承性、多态性和封装性,其中继承性与多态性是非常重要的两个特性。

在写代码的时候我们会经常碰到两个对象的属性和行为相同或类似,引用继承能有效减少书写代码的行数,减少不必要的时间、资源消耗。

1、子类可以继承到父类的所有的非私有属性和方法。继承我们可以和生活中的继承相类比,子代继承父代的财产,但子代并不能继承父代的老婆等私有的东西。同样在编写代码时,子类能继承父类public定义的属性和行为,不能继承父类private定义的属性和行为。

语法:子类extends 父类

举例: 在eclipse运行环境下创建父类Father和子类Son,并在父类Father中创建public行为GetMoney和私有行为GetFriend,并在子类Son中调用GetMoneyGetFriend方法,可以得到

 

 

由上图可以看到GetFriend报错,报错内容显示类型 Father 中的方法 GetFriend()不可视由此可验证子类可以继承父类的公有属性和行为,不可以继承私有属性和行为。

2、方法重写

    定义:子类重写父类的方法,方法名、参数、返回类型必须相同

    子类重写父类方法:用于覆盖父类继承过来的函数

例:创建父类Father和子类SonSon继承Father,并在子类Son中重写GetMoney方法,运行后结果为使用重写的GetMoney方法。

 

 

 

3、自动转型

   子类类型的对象自动转型为父类类型的引用,最终是父类类型的

   转型后的对象:调用方法,如果子类重写了父类的方法,则调用的是重写后的,如果没有重写,则依然调用的是父类自己的

例:创建父类Father和子类SonSon继承Father,并在子类Son中重写GetMoney方法,Son类中的实例化对象代码为:Father s=new Son,将Son的对象转型为Father类型,再运行,得到:

 

 

 

由此,验证上述。

4、多态性

  多个同一个类型的引用,调用同一个方法,执行的流程不一样。(详情可以参考3

版权声明:本文为博主原创文章,未经博主允许不得转载。

面向对象的特点,封装性,继承性,多态性!

1.面向对象程序设计有三大特点,分别是封装,继承,多态,接下来就介绍一下这三个特点,积累一下。 2.封装,封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体是...
  • u012561176
  • u012561176
  • 2015年01月29日 19:37
  • 1521

面向对象的继承性和多态性

一.继承性          继承是面向对象的一个重要的特性,继承性反映的是两个类之间的一种关系。在面向对象的程序设计中,根据已有类派生出新类的这种现象,我们称之为类的继承机制。既当一个类具有另一个类...
  • xiao_pingzi
  • xiao_pingzi
  • 2015年09月14日 21:02
  • 506

面向对象程序设计具有4个共同特征:抽象性、封装性、继承性和多态性

面向对象程序设计具有4个共同特征:抽象性、封装性、继承性和多态性
  • gdut2015go
  • gdut2015go
  • 2015年10月08日 16:13
  • 2018

java实验3.(1)类的继承性和多态性

需求:编写一个程序(Fruit.java),其中有三个类:Fruit,Orange、Apple,其中,Orange、Apple是Fruit的子类: (1)类Fruit有eat()和main()(入口...
  • qq_33826977
  • qq_33826977
  • 2017年04月14日 12:25
  • 328

面向对象-多态

OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。 在使用多态是,会进行动态检测,以调用真实的对象方法。 多态在代码中的体现即父类指针指向子类对象。...
  • hahahacff
  • hahahacff
  • 2014年10月04日 07:35
  • 7393

00 为什么会有对象?为什么会有类?面向过程与面向对象的区别?

为什么会有对象?为什么会有类?面向过程与面向对象的区别?
  • w83325887
  • w83325887
  • 2016年08月02日 21:12
  • 507

【java】面向对象——封装性、继承性和多态性

用一个简单的例子来展示封装性、继承性和多态性:class Person{ private String name; private int age; public void se...
  • Trident_
  • Trident_
  • 2016年09月19日 20:44
  • 376

java-面向对象编程-三大特性之继承

面向对象的编程语言,拥有三大特性,分别是:“继承”,“多态”,“封装”。这三个特性贯穿了面向对象编程语言的方方面面,也是区别于面向过程语言的三个标志。所以,掌握这三个特性,将有助于你在学习面向对象编程...
  • dengminghli
  • dengminghli
  • 2017年01月15日 21:36
  • 1258

Java-面向对象编程-三大特性之多态

我们前面已经介绍了面向对象编程的三大特性之二,今天就介绍最后一个特性-多态。 什么叫多态?从字面上理解就是多种形态,即对同一个客体,可以有多种不同的形式。就好像糖一样,有多种口味,你想吃什么口味的就...
  • dengminghli
  • dengminghli
  • 2017年02月01日 18:14
  • 3042

Java-面向对象(高级篇)--对象的多态性

对象多态性在面向对象中是一个最重要的概念,在Java中主要有两种体现形式: 1. 方法的重载和覆写 2. 对象的多态性 对于方法的重载和覆写在之前的讲解中,下面将重点介绍对象的的多态性。 ...
  • aotumemedazhao1996
  • aotumemedazhao1996
  • 2016年10月14日 20:23
  • 247
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA学习笔记one:类与对象and面向对象和面向过程and继承性与多态性
举报原因:
原因补充:

(最多只允许输入30个字)