java面向对象(三)理论

面向对象的基本特性

封装

  封装性就是尽可能的隐藏对象内部细节,对外形成一道边界,只保留有限的接口和方法与外界进行交互。封装的原则是使对象以外的部分不能随意的访问和操作对象的内部属性,从而避免了外界对对象内部属性的破坏。可以通过对类的成员设置一定的访问权限,实现类中成员的信息隐藏。

private:类中限定为private的成员,只能被这个类本身访问。如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。

default:类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。

protected:类中限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。

public:类中限定为public的成员,可以被所有的类访问。

继承

  子类的对象拥有父类的全部属性与方法,称作子类对父类的继承。

Java中父类可以拥有多个子类,但是子类只能继承一个父类,称为单继承。

继承实现了代码的复用。

Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。

子类不能继承父类中访问权限为private的成员变量和方法。

子类可以重写父类的方法,即命名与父类同名的成员变量。

Java中通过super来实现对父类成员的访问,super用来引用当前对象的父类。super 的使用有三种情况:

访问父类被隐藏的成员变量,如:super.variable;

调用父类中被重写的方法,如:super.Method([paramlist]),super()调用父类构造方法;

调用父类的构造函数,如:super([paramlist]);

多态

  对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各个子类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同。

Java的多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写实现的动态多态性(运行时多态)。

编译时多态:在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态确定调用相应的方法。

运行时多态:由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。

时间: 2024-08-01 04:01:40

java面向对象(三)理论的相关文章

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

java面向对象的三种特征简述(随笔)

刚才有个刚学java的小菜问我面向对象的三种特性,我给他简单的讲了讲,以下是我十年来对java面向对象特性的简单阐述: 封装 封装就是把一个事物的属性和行为抽象出来,写到一个类里边,也就是按照事物的特性归类.也就是抽象事物的公共属性和方法. 继承 和咱们人类的继承差不多,就是老子有的东西儿子也有,只要儿子从老子那继承一下就OK了. 多态 就是同一个类里可以有相同的方法,但相同方法的参数是不同的.

java面向对象编程(三)--类变量、类方法

1.什么是类变量? 类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量. 如何定义类变量? 定义语法:     访问修饰符 static 数据类型 变量名; 如何访问类变量?     类名.类变量名 或者 对象名.类变量名 案例:有一群小孩玩堆雪人,不时有新的小朋友加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决. public class Demo113{ public static

java面向对象编程(三)--this

看一段代码:(Demo112.java),先了解为什么要使用this. /* this的必要性 */ public class Demo112{ public static void main(String []args){ Dog dog1=new Dog(2,"大黄"); Person p1=new Person(dog1,23,"刚子"); Person p2=new Person(dog1,24,"小龙"); p1.showInfo();

20165301陈潭飞2017-2018-2 20165325 实验三《Java面向对象程序设计》实验报告

2017-2018-2 20165325 实验三<Java面向对象程序设计>实验报告 一.敏捷开发与XP实践-1 实验要求: 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能.提交截图,加上自己学号水印. public class CodeStandard { public static void main(String [] args){ StringBuffer buffer = new St

2017-2018-2 20165318 实验三《Java面向对象程序设计》实验报告

2017-2018-2 20165318 实验三<Java面向对象程序设计>实验报告 一.实验报告封面 课程:Java程序设计        班级:1653班        姓名:孙晓暄        学号:20165318 指导教师:娄嘉鹏                              实验日期:2018年4月27日 实验时间:13:45 - 3:25                    实验序号:实验三 实验名称:敏捷开发与XP实践 实验内容: XP基础 XP核心实践 相关工

Java面向对象程序设计

北京电子科技学院(BESTI)                                                                                 实     验    报     告 课程:Java        班级:1352        姓名:马悦      学号:20135235 成绩:              指导教师:娄嘉鹏              实验日期:2015.05.07 实验密级:            预习程度:    

第5篇-JAVA面向对象Ⅰ

第5篇-JAVA面向对象Ⅰ 每篇一句 :面向对象面向君,不负代码不负卿 初学心得: 代码虐我千百遍,我待代码如初恋 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-03| JAVA面向对象 Ⅰ] 1.JAVA作为一种面向对象语言,具有以下基本概念: ● 多态 ● 继承 ● 封装 ● 抽象 ● 类 ● 对象 ● 实例 ● 方法 ● 重载 2.面向对象 什么是面向对象?: 面向对象是一种编程思想 通俗的说:面向对象是一种思考问题的思维方式 为什么使用面向对象以及它的作用 计算机语

Java分为三个体系

Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由JamesGosling和同事们共同研发,并在1995年正式推出. Java分为三个体系: JavaSE(J2SE)(Java2PlatformStandardEdition,java平台标准版) JavaEE(J2EE)(Java2Platform,EnterpriseEdition,java平台企业版) JavaME(J2ME)(Java2PlatformMicroEdit

JavaSE入门学习24:Java面向对象补充

一Java中的Object类 Object类是所有Java类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认 继承Object类. public class Person{ // } //等价于 public class Person extends Object{ // } Object类中的方法,适合所有子类. 1)toString()方法 在Object类中定义有public String toString()方法,其返回值是String类型,描述当前对