美文网首页
Java快乐学习之---面相对象

Java快乐学习之---面相对象

作者: 丶Anger流年 | 来源:发表于2017-11-26 00:17 被阅读0次

特点:

    1、将复杂的事情简单化。

    2、将以前过程中的执行者变成指挥者

    3、更符合当代人的思维逻辑

类中怎么没有定义主函数呢?

注意:主函数的存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义的。

主函数的解释:保证所在类的独立运行,是程序的入口,被jvm调用。

封 装(面向对象特征之一):

是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

好处:将变化隔离;便于使用;提高重用性;安全性。

封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。

继 承(面向对象特征之一)

java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是可实现多接口。

多 态(面向对象特征之一)

函数本身就具备多态性,某一种事物有不同的具体的体现。

体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();父类可以调用子类中覆写过的(父类中有的方法)

多态的好处:提高了程序的扩展性。继承的父类或接口一般是类库中的东西,(如果要修改某个方法的具体实现方式)只有通过子类去覆写要改变的某一个方法,这样在通过将父类的应用指向子类的实例去调用覆写过的方法就行了!

多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)

多态的前提:

1:必须要有关系,比如继承、或者实现。

2:通常会有覆盖操作。

(二)Person p = new Person();

创建一个对象都在内存中做了什么事情?

1先将硬盘上指定位置的Person.class文件加载进内存。

2执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。

3在堆内存中开辟一个实体空间,分配了一个内存首地址值。new

4在该实体空间中进行属性的空间分配,并进行了默认初始化。

5对空间中的属性进行显示初始化。

6进行实体的构造代码块初始化。

7调用该实体对应的构造函数,进行构造函数初始化。()

8将首地址赋值给p,p变量就引用了该实体。(指向了该对象)

相关文章

  • Java快乐学习之---面相对象

    特点: 1、将复杂的事情简单化。 2、将以前过程中的执行者变成指挥者 3、更符合当代人的思维逻辑 类中...

  • Java理论知识 第四课

    这节课我们来学习面向对象 面向对象有四大特性:封装,继承,抽象,多态。 面相对象和面相过程的区别 面向对象就是抽取...

  • es6中的面向对象

    在es6中的面相对象与es5中的面向对象的区别是极大的,ea6中的面相对象则更像原汁原味的后端语言像java,c+...

  • js面向对象

    有java基础学习js的面相对象就容易很多,主要记录一下重点; 在js中没有class的概念,只有构造函数,或者说...

  • Java基础学习——多态

    学习资料: Thinking in Java 第8掌 面相对象的程序语言三大基本特征: 多态从另一种角度将接口与实...

  • 0x003 万物皆对象

    0x000 概论 学java就逃不了谈面相对象,但是面相对象又是一个高深的哲学问题,一章两章是难以详述出来的。为什...

  • Java基础-面相对象篇

    类 成员变量和局部变量 成员变量:定义在类中 局部变量:定义在方法中 在没有赋值的情况下,局部变量会报错,但是成员...

  • java面相对象的理解

    java提供了三种访问权限,准确的说还有一种是默认的访问权限,加上它一共四种。 private 在当前类中可访问 ...

  • Java语言Lambda表达式

    Java作为一种面相对象语言,在设计之初就是围绕着类与对象展开的。并不支持传递函数。但在Java8之后,情况却稍有...

  • 面相对象?从js谈起

    面向对象是主流语言的核心思想。 一说起面相对象,我们就想到了,封装,继承,多态,java这类语言面向对象的三大基本...

网友评论

      本文标题:Java快乐学习之---面相对象

      本文链接:https://www.haomeiwen.com/subject/bdphbxtx.html